Geçtiğimiz günlerde kurduğum bir sunucu uyarı emaillerini göndermeyince meraklanıp sistemi kontrol ettim. Sistem gayet güzel çalışmakla beraber mail loglarını inceleyince Türk telekom’un 25. portu kapatıp 587 üzerinden email trafiğine izin verdiğini hatırladım. Kurduğum sunucu varsayılan olarak Postfix sunucu kullanmakta. Postfix’de bildiğiniz üzere Sendmail’e birebir uyumlu, fakat birçok noktada daha üstün olan bir sunucu yazılımı.
Sistemi bozmamak adına (biraz da tembellikten :) ) Postfix’i kaldırıp yerine Sendmail kurmak yerine Postfix ile bunu nasıl çözebileceğimi düşündüm ve 587 port üzerinden yayın yapan Gmail aklıma geldi. Gmail’i mevcut kullanıcı bilgilerimle Relay Host olarak tanımlayıp sorunu çözebilir, ayrıca hazır sistem üzerinde çok fazla değişiklik yapmadan işimi çözebilirdim. Böylece araştırmaya koyuldum ve yaklaşık 15 dakika içerisinde sorunlarım bitmişti :)
Öncelikle, Posfix üzerinde relayhost tanımlamak müthiş kolay, fakat Gmail TLS ile çalıştığından bu biraz daha vakit alan bir işlem oldu.
TLS için bir CA sertifikasına ihtiyacınız var, fakat Gmail sizden orijinal bir sertifika istemiyor yani kendi CA’nızı kullanabilrisiniz. Bu noktada CentOS kullanıcı iseniz daha da kolay, çünkü CentOS hazırda bir CA ile geliyor. Dosyamız /etc/pki/tls/certs/ca-bundle.crt . Siz de kendi dağıtımınızın dokümantasyonuna bakarak bir CA oluşturabilir ya da hazır CA’nızı kullanabilrisiniz.
Ayrıca /etc/postfix içerisinde sasl_password diye bir dosya oluşturun ve içerisine kullanıcı oturumu açacağınız Gmail hesabınızın kullanıcı adı ve şifresini yazın (aradaki boşluk 1 tab karakteridir ve kullanıcı adı şifre arasında “:” işareti vardır):
smtp.gmail.com:587 kullanici@gmail.com:sifre
Bu dosyayı kaydedin ve main.cf yi açın. Dosyanın altına şu satırları ekleyin:
relayhost = smtp.gmail.com:587
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = smtpd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = yes
smtp_cname_overrides_servername = no
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
smtp_tls_CAfile değeri olarak kendi CA sertifikanızı vermeyi unutmayın.
postmap hash:/etc/postfix/sasl_password
komutu ile dosyayı hashleyin ve
postmap -q smtp.gmail.com:587 /etc/postfix/sasl_password
çıktısının kullanıcı adı ve şifreniz olduğuna emin olun.
Herşey yolunda ise postfix reload ile postfixi yeniden başlatın. Test etmek için sistem üzerinden bir email gönderin ve log dosyalarını kontrol edin. Herşey yolundaysa zaten test maili de yerine varmış olacaktır, aksi halde loglar size sıkıntıyı anlatacaktır
Kaynak Site : https://itseyirdefteri.wordpress.com/2010/07/06/postfix-ile-gmail-smarthost-tanimlamasi/
Yorum Gönder