Exim Smarthost Kurulumu
Exim yapılandırmasına üç tanım eklersiniz: bir router, bir transport ve bir kimlik doğrulayıcı. Bunlardan yalnızca router’ın yeri kritiktir, çünkü Exim router’ları yukarıdan aşağıya dener ve adresi ilk eşleşen üstlenir. Kurulumdan sonra sunucudan çıkan her e-posta kimlik doğrulamalı ve şifreli bir bağlantıyla MXGate üzerinden iletilir.
Değişen tek şey postanın çıkış yolu
Bugün Exim, alıcının MX kaydını arayıp e-postayı doğrudan gönderiyor; teslim edilip edilmeyeceğini tek başına sunucunuzun IP adresinin sicili belirliyor. Kurulumdan sonra aynı posta önce MXGate’e teslim edilir, orada denetlenir ve itibarı izlenen adreslerden çıkar.
Elle yapılandırma mı, hazır seçenek mi?
Exim üç farklı biçimde yönetilebilir ve hangisinde olduğunuz kurulumun tamamını değiştirir. Yanlış yolu seçerseniz yaptığınız değişiklik ya çalışmaz ya da bir sonraki derlemede kaybolur.
Debian ve Ubuntu için kısa yol
exim4 paketinde smarthost hazır bir yapılandırma türüdür. Sihirbazda seçeneği işaretler, adresi verir ve kimlik bilgilerini ayrı bir dosyaya yazarsınız; router ve transport tanımlarını Exim üretir.
# Yapılandırma sihirbazı dpkg-reconfigure exim4-config # Posta yapılandırma türü: # "mail sent by smarthost; received via SMTP or fetchmail" # Giden postanın gönderileceği makine: # smtp.mxgate.com.tr::587 # Kimlik bilgileri — biçim: makine:kullanıcı:şifre echo 'smtp.mxgate.com.tr:KULLANICI:SIFRE' >> /etc/exim4/passwd.client chmod 640 /etc/exim4/passwd.client chown root:Debian-exim /etc/exim4/passwd.client # Yapılandırmayı üret ve servisi yeniden başlat update-exim4.conf systemctl restart exim4
Adresteki çift iki nokta Exim’in port ayracıdır; tek iki nokta liste ayracı olduğu için burada iki tane kullanılır. passwd.client dosyasında ise port yazılmaz, yalnızca makine adı kullanılır.
Router nereye eklenir?
Exim, begin routers bölümündeki tanımları yukarıdan aşağıya dener ve adresi üstlenen ilk router kazanır. Yeni tanımın yeri bu yüzden içeriği kadar önemlidir.
Sunucunuzdaki router adları farklı olabilir; belirleyici olan yeni tanımın dnslookup’tan önce gelmesidir.
Yedi adımda Exim smarthost kurulumu
Komutların tamamı root (veya sudo) ile çalıştırılır. Yalnızca dördüncü adımdaki kullanıcı adı ve şifre yer tutucularını değiştirmeniz gerekir.
-
Hangi dosyanın kullanıldığını bulun ve yedek alın
Exim’in okuduğu yapılandırma dosyasının yeri dağıtıma göre değişir. Tahmin etmek yerine Exim’in kendisine sorun, sonra o dosyanın yedeğini alın.
KABUK · DURUM kopyalayınexim -bP configure_file # Çıktıda görülen dosyanın yedeğini alın cp /etc/exim/exim.conf /etc/exim/exim.conf.bak # Debian ve Ubuntu’da genellikle cp /etc/exim4/exim4.conf.template /etc/exim4/exim4.conf.template.bak
-
Router’ı begin routers bölümünün en başına ekleyin
Router tanımını begin routers satırından hemen sonra, diğer tüm router’lardan önce yazın. Exim router’ları yukarıdan aşağıya dener ve adresi ilk eşleşen üstlenir; tanım dnslookup’ın altında kalırsa hiçbir zaman çalışmaz.
exim.conf · begin routers kopyalayın# MXGate smarthost router mxgate_smarthost: driver = manualroute domains = ! +local_domains transport = mxgate_smtp route_list = * smtp.mxgate.com.tr::587 no_more no_verify
no_more, bu router adresi üstlenmediğinde alttaki router’ların denenmesini engeller.no_verifyise Exim yalnızca adres doğrulaması yaparken bu router’ı atlar, böylece doğrulama sırasında smarthost’a bağlanılmaya çalışılmaz. Adresteki çift iki nokta (::) Exim’in port ayracıdır. -
Transport tanımını ekleyin
begin transports bölümüne, kimlik doğrulama ve TLS zorunluluğunu içeren taşıma tanımını ekleyin. Bu bölümde sıra önemli değildir; tanım router tarafından adıyla çağrılır.
exim.conf · begin transports kopyalayın# MXGate SMTP transport mxgate_smtp: driver = smtp hosts = smtp.mxgate.com.tr port = 587 hosts_require_auth = smtp.mxgate.com.tr hosts_require_tls = smtp.mxgate.com.tr tls_verify_certificates = /etc/ssl/certs/ca-certificates.crt
Sertifika paketinin yolu dağıtıma göre değişir: Debian ve Ubuntu’da/etc/ssl/certs/ca-certificates.crt, RHEL ailesinde/etc/pki/tls/certs/ca-bundle.crt. -
Kimlik doğrulayıcıyı ekleyin
begin authenticators bölümüne istemci kimlik doğrulayıcısını ekleyin ve yer tutucuların yerine MXGate panelinden aldığınız bilgileri yazın.
exim.conf · begin authenticators kopyalayın# MXGate SMTP authentication mxgate_auth: driver = plaintext public_name = LOGIN client_send = : MXGATE_KULLANICI_ADI : MXGATE_SIFRE
Dikkat:client_sendsatırı iki nokta üst üste ile başlamak zorundadır:: kullanıcı : şifre. Debian’ın exim4 paketini kullanıyorsanız kimlik bilgilerini buraya değil/etc/exim4/passwd.clientdosyasına yazın; yukarıdaki kısa yolda anlatıldığı gibi. -
Sözdizimini doğrulayın ve servisi yeniden başlatın
Yeniden başlatmadan önce yapılandırmayı doğrulayın. Exim sözdizimi hatasında açılmaz; doğrulamayı atlarsanız servisi durdurmuş olabilirsiniz.
KABUK · DOĞRULA kopyalayınexim -bV # Hata yoksa yeniden başlatın systemctl restart exim # Debian / Ubuntu update-exim4.conf systemctl restart exim4
-
Yönlendirmeyi exim -bt ile posta göndermeden sınayın
Exim, bir adresin hangi router ve transport üzerinden gideceğini posta göndermeden gösterebilir. Çıktıda mxgate_smarthost adını görüyorsanız sıra doğrudur; dnslookup görüyorsanız router yanlış yere yazılmıştır.
KABUK · YÖNLENDİRME TESTİ kopyalayınexim -bt birisi@ornek.com # Görmeniz gereken çıktı birisi@ornek.com router = mxgate_smarthost, transport = mxgate_smtp host smtp.mxgate.com.tr [...] port=587
Bu komut hiçbir e-posta göndermez, yalnızca kararı gösterir. Kurulumu canlı trafikte denemeden önce sıranın doğru olduğunu buradan doğrulayabilirsiniz. -
Bir e-posta gönderip kaydı okuyun
Sunucudan dışarıya bir e-posta gönderin ve Exim kaydında iletinin MXGate üzerinden çıktığını doğrulayın. Kayıtta router ve transport adlarını görüyorsanız kurulum çalışıyor demektir.
TEST · KAYIT kopyalayınecho "test" | exim -v siz@ornek.com # Canlı kayıt tail -f /var/log/exim/mainlog tail -f /var/log/exim4/mainlog # Debian / Ubuntu # Kayıtta görmeniz gereken satır => siz@ornek.com R=mxgate_smarthost T=mxgate_smtp
Kurulum tamam. Bu satırı gördüğünüzde sunucudan çıkan tüm posta kimlik doğrulamalı ve şifreli olarak MXGate üzerinden gidiyor demektir.
Exim kaydında gördüğünüz hata ne anlama geliyor?
Aşağıdaki altı satır, Exim smarthost kurulumundan sonra karşılaşılan hataların neredeyse tamamını kapsar. Kaydınızdaki metni soldaki sütunda arayın.
| Kayıtta görülen | Ne anlama gelir | Çözüm |
|---|---|---|
| R=dnslookup | Router sırası yanlış; adresi dnslookup üstlendi | mxgate_smarthost tanımını begin routers bölümünde dnslookup’tan öncesine taşıyın. Taşıdıktan sonra exim -bt ile doğrulayın. |
| 535 Incorrect authentication data | Kullanıcı adı veya şifre kabul edilmedi | client_send satırının iki nokta ile başladığını ve bilgilerin panelden birebir kopyalandığını doğrulayın. Debian exim4 kullanıyorsanız bilgiler passwd.client dosyasında olmalı. |
| Unrouteable address | Hiçbir router adresi üstlenmedi | Router’daki domains koşulunu ve route_list satırını kontrol edin. no_more yazılıp route_list hatalıysa alttaki router’lar da denenmez ve adres yolsuz kalır. |
| certificate verification failed | Sertifika paketinin yolu yanlış | tls_verify_certificates ayarını dağıtımınıza göre verin: Debian ve Ubuntu’da /etc/ssl/certs/ca-certificates.crt, RHEL ailesinde /etc/pki/tls/certs/ca-bundle.crt. |
| Connection timed out | 587 portuna çıkış engelleniyor | Sunucu güvenlik duvarında ve sağlayıcınızın ağında giden 587 portuna izin verin. Bağlantıyı openssl s_client -starttls smtp -connect smtp.mxgate.com.tr:587 ile sınayabilirsiniz. |
| Değişiklik hiç uygulanmıyor | Düzenlenen dosya Exim’in okuduğu dosya değil | exim -bP configure_file komutuyla doğru dosyayı bulun. Debian ve Ubuntu’da şablon düzenlendikten sonra update-exim4.conf çalıştırılmadıkça yapılandırma yeniden üretilmez. |
Geri dönüş
Kurulumdan vazgeçmek isterseniz eklediğiniz router tanımını kaldırmanız yeterli; transport ve kimlik doğrulayıcı çağrılmadıkları sürece etkisizdir. Birinci adımda aldığınız yedeği geri yüklemek de aynı sonucu verir.
# Yedeği geri yükleyin ve doğrulayın cp /etc/exim/exim.conf.bak /etc/exim/exim.conf exim -bV systemctl restart exim # Debian ve Ubuntu’da sihirbazdan geri dönülür dpkg-reconfigure exim4-config # "internet site; mail is sent and received directly using SMTP"
Sistem yöneticilerinden gelen sorular
Router’ı nereye eklemeliyim, sıra neden bu kadar önemli?
begin routers bölümünün en başına, diğer tüm router’lardan önce eklenmelidir. Exim router’ları yukarıdan aşağıya sırayla dener ve adresi üstlenen ilk router kazanır. Smarthost router’ı dnslookup’ın altında kalırsa dnslookup adresi önce üstlenir, posta doğrudan gider ve yaptığınız tanım hiçbir zaman çalışmaz. Bu, Exim kurulumlarında en sık yapılan hatadır.
Debian veya Ubuntu kullanıyorum, yine de elle router eklemem gerekiyor mu?
Hayır. Debian’ın exim4 paketinde smarthost yerleşik bir yapılandırma seçeneğidir. dpkg-reconfigure exim4-config çalıştırıp “mail sent by smarthost” seçeneğini işaretler, adresi verir ve kimlik bilgilerini /etc/exim4/passwd.client dosyasına yazarsınız. Router, transport ve kimlik doğrulayıcı tanımlarını Exim sizin için üretir.
exim -bt komutu ne işe yarar?
Bir adresin hangi router ve transport üzerinden gideceğini, hiçbir e-posta göndermeden gösterir. Kurulumu canlı trafikte denemeden önce sıranın doğru olduğunu bu komutla doğrulayabilirsiniz. Çıktıda mxgate_smarthost yazıyorsa yapılandırma doğru; dnslookup yazıyorsa router yanlış yerdedir.
Sunucumda cPanel var, bu rehberi mi kullanmalıyım?
Hayır. cPanel de Exim kullanır ama yapılandırmayı kendisi üretir; bu sayfadaki gibi dosyayı elle düzenlerseniz değişiklikleriniz bir sonraki derlemede kaybolur. cPanel sunucularında ayarlar WHM içindeki Exim Configuration Manager üzerinden girilmelidir. Bunun için ayrı bir rehberimiz var.
Bu kurulum gelen e-postaları etkiler mi?
Hayır. Eklenen router yalnızca yerel olmayan adreslere giden postanın hangi yoldan çıkacağını belirler. Yerel teslimat, MX kayıtlarınız ve gelen posta ayarlarınız olduğu gibi kalır. Gelen tarafı da MXGate üzerinden geçirmek ayrı bir adımdır ve MX kaydı üzerinden yapılır.