PHP mail() ile SMTP Kimlik Doğrulaması Nasıl Yapılır

Son doğrulama: Eylül 2026 · cPanel 136 test hesabında denendi

Hızlı çözüm

PHP’nin mail() fonksiyonu sunucudan kimlik doğrulaması yapmadan gönderim yaptığı için çoğu alıcı sunucusu tarafından şüpheli görülür ve spam’e düşer; php mail smtp kimlik doğrulama için uygulamanıza gerçek bir e-posta hesabının sunucu adı, portu (465 ya da 587), kullanıcı adı (tam e-posta) ve şifresini tanıtmanız yeterlidir.

  1. cPanel → E-posta → E-posta Hesapları → Cihaz Bağla’dan sunucu adını öğrenin.
  2. WordPress kullanıyorsanız bir SMTP eklentisi kurun (WP Mail SMTP, Post SMTP vb.).
  3. Host, port (465 SSL ya da 587 STARTTLS), kullanıcı adı ve şifreyi girin.
  4. Bir test e-postası gönderin.
  5. cPanel Gönderimi İzle ekranından teslim durumunu doğrulayın.
Panel cPanel
Sistem Paylaşımlı hosting; WordPress, WooCommerce, OpenCart ya da özel PHP kodu
Yetki cPanel e-posta hesabı sahibi, site yöneticisi
Narhost ürünü Kurumsal E-posta

Başlamadan önce

  • cPanel’de aktif bir e-posta hesabınız ve şifresi olsun.
  • Sitenize eklenti kurabilecek ya da kod düzenleyebilecek erişiminiz olsun.
  • E-posta hesabınızın sunucu adını Cihaz Bağla ekranından önceden not edin.
  • Şifrenizi bilmiyorsanız cPanel’den önce sıfırlayın; SMTP alanına eski şifre yazılmaz.

PHP mail() neden yetersiz kalır

PHP’nin yerleşik mail() fonksiyonu, e-postayı doğrudan sunucunun yerel posta aktarım aracına (genelde Exim) teslim eder ve gönderen adına bir kimlik doğrulaması yapmaz. Alıcı sunucular (Gmail, Outlook, Yandex) SPF/DKIM imzası ve kimlik doğrulamalı bir bağlantı olmadan gelen postayı güvenilir bulmaz; sonuç sık sık spam klasörüne düşme ya da doğrudan reddedilmedir.

Kimlik doğrulamalı SMTP gönderiminde e-posta, kullanıcı adı ve şifreyle doğrulanmış gerçek bir hesaptan çıkar; alıcı sunucu göndereni tanır ve teslim oranı belirgin şekilde artar. Bu fark özellikle iletişim formu, sipariş onayı ve şifre sıfırlama gibi otomatik postalarda öne çıkar.

Adım adım php mail smtp kimlik doğrulama

Yöntem 1 — WordPress’te SMTP eklentisi

  1. cPanel → E-posta → E-posta Hesapları → Cihaz Bağla ekranını açıp sunucu adını not edin.
    php mail smtp kimlik doğrulama — cPanel Cihaz Bağla ekranında sunucu adı ve port bilgileri
    Cihaz Bağla ekranı; güvenli giden sunucu adı ve 465/587 port bilgileri burada gösterilir.

    Beklenen sonuç: güvenli giden sunucu adı ve 465/587 port bilgileri görünür.

  2. SMTP eklentisinin ayar sayfasını açın. Host alanına sunucu adını, kullanıcı adına tam e-posta adresinizi, şifreye e-posta hesabının şifresini, şifrelemeye SSL (465) ya da STARTTLS (587) girin.

    Beklenen sonuç: eklenti bağlantı testini “başarılı” olarak işaretler.

  3. Bir test e-postası gönderin. Eklentideki “test e-postası gönder” özelliğini kullanın.

    Beklenen sonuç: test postası birkaç saniye içinde hedef kutuya ulaşır.

  4. cPanel → E-posta → Gönderimi İzle ekranından postanın durumunu kontrol edin.
    php mail smtp kimlik doğrulama sonrası test postasının durumu — cPanel Gönderimi İzle ekranı
    Gönderimi İzle ekranı; gönderilen her postanın teslim durumu burada listelenir.

    Beklenen sonuç: postanın karşısında teslim edildiğini gösteren bir durum yazar.

Yöntem 2 — PHPMailer ile örnek kod

Özel bir PHP uygulamanız varsa mail() yerine PHPMailer kütüphanesiyle kimlik doğrulamalı gönderim kurun:

$mail = new PHPMailer(true);$mail->isSMTP();$mail->Host = 'mail.alanadiniz.com';$mail->SMTPAuth = true;$mail->Username = '[email protected]';$mail->Password = 'e-posta-hesabi-sifresi';$mail->SMTPSecure = 'ssl';$mail->Port = 465;$mail->send();

Host, Username ve Password alanlarına Cihaz Bağla ekranındaki değerleri, port için 465 (ssl) ya da 587 (tls) yazılır.

Yöntem 3 — OpenCart ve WooCommerce

OpenCart’ta Ayarlar → Mail bölümünde, WooCommerce’te ise bir SMTP eklentisinin ayar ekranında aynı dört değer (sunucu adı, kullanıcı adı, şifre, port) kullanılır; SMTP kimlik doğrulama mantığı platformdan bağımsız aynı kalır.

Bilgi

Paylaşımlı hostingde e-postanın çıkış IP’si müşteri tarafından değiştirilemez; teslim sorunu IP itibarından kaynaklanıyor gibi görünüyorsa önce SPF/DKIM kayıtlarınızı kontrol edin.

Doğrulama

Sonuç

Test e-postası hedef kutuya (spam dahil aranmadan) ulaştıysa ve Gönderimi İzle ekranında durumu teslim edildi olarak görünüyorsa SMTP kimlik doğrulaması başarıyla kurulmuştur.

Hâlâ çözülmediyse

Narhost desteği

Talebe şunları ekleyin: alan adınız, kullandığınız eklenti ya da kod, SMTP host/port bilgisi (şifre yazmayın) ve aldığınız hata mesajının tam metni.

Destek talebi aç

Sıkça sorulan sorular

php mail smtp kimlik doğrulama neden gerekli?

mail() fonksiyonu kimlik doğrulaması yapmadığı için alıcı sunucular postayı güvenilir bulmaz; SMTP kimlik doğrulaması gerçek bir hesaptan doğrulanmış gönderim sağlayarak teslim oranını artırır.

SMTP için 465 mi 587 mi kullanılmalı?

Her ikisi de Narhost’ta desteklenir; 465 baştan SSL şifreli bağlantı, 587 ise STARTTLS ile şifrelenen bağlantıdır. Uygulamanızın ya da eklentinizin desteklediği seçeneği kullanabilirsiniz.

SMTP kullanıcı adına ne yazılmalı?

Kullanıcı adı her zaman e-posta hesabının tam adresidir (ör. [email protected]), yalnızca kullanıcı kısmı (“bilgi”) yazılmaz.

Paylaşımlı hostingde çıkış IP’sini kendim değiştirebilir miyim?

Hayır, paylaşımlı hostingde e-postanın çıkış IP’si müşteri tarafından değiştirilemez; itibar sorunu şüphesi varsa destek talebi açılır.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

Etiketler: phpcpanelsmtp

İlgili çözümler