SMTP sunucular arası bir mail geçit protokolüdür. SMTP sunucu, mail’i alıcı sunucuya iletir ve işlemi sonlandırır.
Bu yazıda, harici bir mail hesabınızın SMTP giden sunucusununu WordPress eklentisi olamadan, kendi projenizde nasıl kullanacağınızı göstereceğim.
Neden harici bir SMTP kullanmanız gerekir?
Hosting paketleri paylaşımlı sunucuda, paylaşımlı IP adresi kullanır. Bu durum yer yer sunucunun mail fonksiyonunun sağlıklı çalışmasına engel olur. Ayrıca kötü amaçlı bir yazılım, IP’nizin spam listelerine düşmesine sebep olabilir. Bu durum hosting firmasının IP maliyetini sizden istemesine neden olabilir.
Size özel bir sunucu, IP sahibi olsa bile harici bir mail servisi kullanmanız hem daha güvenli, hem daha sağlıklı olacaktır. Ayrıca sunucunun yoğunluğuna, kesintilerine göre gelmeyen ve gitmeyen mail’leriniz olmayacaktır.
WordPress kullanıcıları genel olarak WordPress SMTP eklentileri kullanır. Bu eklentiler hem karmaşık, hem WordPress güncellemelerine ayak uydurmak zorunda olan, amacı dışında bir çok özelliği barındıran, bir çok dosyadan oluşan yazılımlardır.
Mecbur kalmadıkça eklenti kullanmamak gerekir. Hem güvenlik açıkları, hem performans açısından olumsuz etkileri olur.
Eklentisiz SMTP giden sunucusu kullanmak aslında çok basittir.
Aşağıdaki kodu WordPress sitenizin anadizininde bulunan config.php dosyanıza ekleyin. config.php aynı zamanda WordPress sitenizin veritabanı bağlantı verilerinin tutulduğu dosyadır. Bu dosyada yer alan şifreler güvenli bir şekilde korunur.
# KS Ajans SMTP Fonksiyonu
define( 'SMTP_USERNAME', 'E-Posta adresiniz' );
define( 'SMTP_PASSWORD', 'E-Posta şifreniz' );
define( 'SMTP_SERVER', 'SMTP sunucusu' );
define( 'SMTP_FROM', 'E-Posta adresiniz' );
define( 'SMTP_NAME', 'Gönderen ismi' );
define( 'SMTP_PORT', 'TSL için genelde 587' );
define( 'SMTP_SECURE', 'tls' );
define( 'SMTP_AUTH', true );
define( 'SMTP_DEBUG', 0 );
İlgili alanları doldurun. Gmail, Hotmail gibi mail hesapları kullanacksanız, harici uygulamalar için “Uygulama Şifresi” oluşturmanız gerekebilir.
Uygulama şifresi oluşturmak için iki aşamalı doğrulama özelliğini açmanız gerekebilir.
config.php dosyanızı doğru bir şekilde hazırladıktan sonra aşağıdaki kodları funcktions.php dosyanıza ekleyin.
# KS Ajans SMTP
add_action( 'phpmailer_init', 'ksajans_smtp' );
function ksajans_smtp( $kssmtp ) {
$kssmtp->isSMTP();
$kssmtp->Host = SMTP_SERVER;
$kssmtp->SMTPAuth = SMTP_AUTH;
$kssmtp->Port = SMTP_PORT;
$kssmtp->Username = SMTP_USERNAME;
$kssmtp->Password = SMTP_PASSWORD;
$kssmtp->SMTPSecure = SMTP_SECURE;
$kssmtp->From = SMTP_FROM;
$kssmtp->FromName = SMTP_NAME;
}
Bu kodlarda bir dğeişiklik yapmanıza gerek yok. Artık WordPress siteniz giden mail işlemlerini eklediğiniz SMTP üzerinden gerçekleştirecektir.
İletişim formu için Contact 7 kullanmanızı öneririm.