HELPER VPS

VPS'ten e-posta gönderme: 587 ve 465 numaralı portlarla SMTP gönderim hizmeti bağlantısı

HELPER VPS'teki tüm sunucularda spam'i önlemek için dışa giden 25 numaralı port kapalı tutulur; bu sayede aynı ağı kullanan tüm sunucuların IP itibarı temiz kalır. E-postaları bir e-posta gönderim hizmetinin 587 veya 465 numaralı portuyla gönderirseniz gelen kutularına daha sorunsuz ulaşır.

Neden 587 ve 465 numaralı portlardan gönderilir?

25 numaralı port, e-posta sunucularının birbirine e-posta ilettiği porttur. Sunucudan doğrudan alıcının e-posta sunucusuna gönderirseniz IP itibarını, ters DNS'i ve gönderim hacmini tamamen kendiniz yönetmeniz gerekir; yeni bir sunucu IP'sinden gönderilen e-postalar da kolayca spam klasörüne düşer.

587 ve 465, oturum açmış kullanıcıların e-postalarını teslim ettiği gönderim portlarıdır. Bir e-posta gönderim hizmetine kullanıcı adı ve parolayla giriş yapıp e-postayı teslim ettiğinizde itibarı yönetilen gönderim sunucuları sizin yerinize iletir. Üyelik onayı, parola sıfırlama ve sipariş bildirimi gibi e-postaların gelen kutusuna sorunsuz ulaşmasının en kesin yoludur.

  • 587: düz metinle bağlandıktan sonra STARTTLS ile şifrelemeyi başlatır. Çoğu hizmet ve programın varsayılan olarak kullandığı porttur.
  • 465: en baştan TLS ile şifreleyerek bağlanır. Ayar ekranlarında genellikle SSL veya SSL/TLS olarak görünür.

E-posta gönderim hizmeti seçme

E-posta gönderim hizmetleri genel olarak ikiye ayrılır. Biri web sitelerinin ve uygulamaların bildirim e-postalarını toplu gönderen işlem e-postası hizmetleri, diğeri ise zaten kullandığınız şirket veya kişisel e-posta hesabının SMTP özelliğidir. Hangisi olursa olsun aşağıdaki dört bilgiyi aldığınızda ayar için hazırsınız.

  • SMTP sunucu adresi: örneğin smtp.example.com
  • Port: 587 (STARTTLS) veya 465 (SSL/TLS)
  • Kullanıcı adı: hizmetin belirlediği kullanıcı adı veya e-posta adresi
  • Parola: hizmetin SMTP'ye özel parolası veya API anahtarı

Gönderim hacmi yüksek e-ticaret siteleri veya hizmetler için işlem e-postası hizmetleri gönderim kayıtlarını, geri dönen e-postaları ve abonelikten çıkma yönetimini de üstlendiği için pratiktir. Birkaç bildirim için e-posta hesabının SMTP'si yeterlidir.

Sunucuda SMTP bağlantısını kontrol etme

Ayar yapmadan önce sunucudan gönderim hizmetine bağlantının sorunsuz olduğunu kontrol edin. Aşağıdaki komutlar yalnızca bağlantıyı kontrol eder, e-posta göndermez.

Terminal
nc -vz smtp.example.com 587
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlf -quiet
openssl s_client -connect smtp.example.com:465 -crlf -quiet

İlk satır succeeded veya open gösterir, openssl komutu da 220 ile başlayan bir sunucu karşılama mesajı gösterirse hazırsınız demektir. Ctrl+C ile çıkın. nc komutu yoksa Ubuntu ve Debian'da apt install -y netcat-openbsd, AlmaLinux'ta dnf install -y nmap-ncat ile kurun.

Postfix'i gönderim hizmetine bağlama

Sunucudaki programların, cron bildirimlerinin ve mail komutunun gönderdiği e-postaları tek yerde toplamak için Postfix'i gönderim hizmetine aktaran bir relay olarak ayarlayın. Sunucudaki tüm e-postalar 587 numaralı porttan oturum açarak çıkar.

1. adım. Kurulum

Ubuntu, Debian
apt install -y postfix libsasl2-modules mailutils

Kurulum sırasında e-posta yapılandırma türü sorulursa Internet Site'ı seçin, e-posta adına kendi alan adınızı girin. AlmaLinux 10'da dnf install -y postfix cyrus-sasl-plain s-nail ile kurup systemctl enable --now postfix ile başlatın.

2. adım. Relay ayarı

Terminal
postconf -e 'relayhost = [smtp.example.com]:587'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options = noanonymous'
postconf -e 'smtp_tls_security_level = encrypt'
postconf -e 'inet_interfaces = loopback-only'

inet_interfaces = loopback-only, yalnızca sunucu içinden gönderilen e-postaları kabul ederek bu sunucunun dışarıdan e-posta aktarıcısı olarak kullanılmasını engeller.

3. adım. Giriş bilgilerini kaydedin

Terminal
echo '[smtp.example.com]:587 SMTP_USER:SMTP_PASSWORD' > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
systemctl restart postfix

465 numaralı portu kullanan bir hizmetse relayhost ve sasl_passwd'deki portu 465 yapın ve postconf -e 'smtp_tls_wrappermode = yes' satırını da ekleyin.

4. adım. Test gönderimi ve günlük kontrolü

Terminal
echo "VPS mail test" | mail -s "Test from VPS" you@example.com
postqueue -p
journalctl -t postfix/smtp -n 20

Günlükte status=sent görünüyorsa gönderim hizmeti e-postayı almış demektir. postqueue -p henüz gönderilemeyen e-postaların listesini gösterir. Giriş bilgilerini düzelttiyseniz systemctl restart postfix sonrasında postqueue -f ile yeniden gönderin.

WordPress ve uygulamalarda SMTP ayarı

Web sitelerinin ve uygulamaların çoğunda SMTP ayar alanları bulunduğu için sunucuya Postfix kurmadan doğrudan gönderim hizmetine bağlanabilirsiniz. WordPress'te bir SMTP eklentisi kurup aşağıdaki değerleri girdiğinizde üyelik ve parola sıfırlama e-postaları o hizmet üzerinden gönderilir.

  • SMTP sunucusu: gönderim hizmetinin adresi
  • Şifreleme: 587 için TLS (STARTTLS), 465 için SSL
  • Port: 587 veya 465
  • Kimlik doğrulama: açık, kullanıcı adı ve parola girin
  • Gönderen adresi: kendi alan adınızdaki bir adres (örneğin no-reply@example.com)

Node.js, PHP ve Python uygulamalarında da e-posta kütüphanelerini aynı değerlerle ayarlarsınız. Parolayı koda doğrudan yazmak yerine ortam değişkenleri veya ayar dosyalarıyla girerseniz yapı düzenli olur. WordPress kurulumu WordPress kurulum rehberinde yer alır.

Alan adı DNS'ine SPF, DKIM ve DMARC ekleme

Alıcı e-posta sunucuları, e-postanın gerçekten alan adınızın izin verdiği bir yerden gelip gelmediğini DNS kayıtlarıyla kontrol eder. Üç kaydı eklerseniz gelen kutusuna ulaşma oranı büyük ölçüde artar.

  • SPF: alan adınızın e-postalarını gönderebilecek sunucuların listesidir. Gönderim hizmetinin bildirdiği include değerini tek bir TXT kaydına ekleyin.
  • DKIM: e-postalara eklenen dijital imzadır. Gönderim hizmeti ekranında oluşturulan TXT veya CNAME kaydını aynen ekleyin.
  • DMARC: SPF ve DKIM kontrolünden geçemeyen e-postalara nasıl davranılacağını belirler. Başlangıçta aşağıdaki gibi yalnızca rapor alan bir ayarla başlayın.
DNS TXT
_dmarc.example.com  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

Birkaç hafta boyunca raporları izleyip tüm e-postaların geçtiğini doğruladıktan sonra p=quarantine, ardından p=reject olarak yükselterek alan adınızın taklit edilmesini önleyin.

E-posta alma ve sonraki adımlar

Alan adınıza gelen e-postaları almak için bir e-posta barındırma hizmetinin MX kayıtlarını alan adınıza ekleyin. Gelen e-postaları e-posta barındırma hizmeti, giden bildirim e-postalarını gönderim hizmeti üstlenirse sunucu yalnızca web sitesine ve uygulamalara odaklanır.

E-posta gönderim hizmeti üzerinden gönderme yöntemi, sunucuyu taşısanız veya yeniden oluştursanız da yalnızca birkaç satırlık ayarı taşıyarak aynen devam eder. Sunucu IP'si değişse de gönderim itibarı hizmet tarafında kaldığı için siteyi başka bir bölgeye taşırken de e-posta teslim oranı etkilenmez.

Diğer portları hizmetinize göre özgürce açıp kullanırsınız. Yalnızca kullanılan portları açma yöntemi temel güvenlik duvarı rehberinde, sunucu kullanım kuralları Kabul Edilebilir Kullanım Politikası'nda yer alır.

Birlikte okumanız faydalı olacak rehberler

Bu rehberle birlikte yapmanızda fayda olan ayarlar.

Tüm rehberleri gör