Exim MTA

Exim Smarthost Yapılandırması

Exim router, transport ve AUTH ayarları ile smarthost kurulumu

Dokümantasyona Dön

Bu rehber ne işe yarar?

Exim MTA kullanan sunucularınızdan (cPanel olmayan) gönderilen tüm e-postaların MXGate smarthost üzerinden (kimlik doğrulama ile) iletilmesini sağlar.

Ön Gereksinimler

  • Root erişimi
  • Exim 4.94+ kurulu ve çalışır durumda
  • MXGate panelinden oluşturulmuş SMTP kullanıcı adı ve şifre
  • TLS/SSL desteği (GnuTLS veya OpenSSL)

Önemli Uyarı

Exim yapılandırma dosyası doğrudan düzenlenir. Yanlış yapılandırma tüm mail trafiğini durdurabilir. İşlemden önce MUTLAKA yedek alın!

1 Exim Yapılandırma Dosyasını Yedekleme

Her ihtimale karşı Exim yapılandırma dosyasının yedeğini alın:

# Exim yapılandırma dosyasının yerini bulun:
exim -bP configure_file
# Genellikle:
sudo cp /etc/exim/exim.conf /etc/exim/exim.conf.backup.$(date +%Y%m%d)
# veya:
sudo cp /etc/exim4/exim4.conf.template /etc/exim4/exim4.conf.template.backup.$(date +%Y%m%d)

2 Router Tanımlaması

Exim yapılandırma dosyasında begin routers bölümüne aşağıdaki router tanımlamasını ekleyin:

# begin routers bölümünde, diğer router\'lardan ÖNCE ekleyin:
# ============================================
# MXGate Smarthost Router
# ============================================
mxgate_smarthost:
driver = manualroute
domains = ! +local_domains
transport = mxgate_smtp
route_list = * smtp.mxgate.com.tr::587
no_more
no_verify

Bu router'ı dnslookup veya varsayılan smart host router'ından ÖNCE yerleştirin. Aksi halde mailler doğrudan gönderilmeye çalışılır.

3 Transport Tanımlaması

Exim yapılandırma dosyasında begin transports bölümüne aşağıdaki transport tanımlamasını ekleyin:

# begin transports bölümüne ekleyin:
# ============================================
# 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

tls_verify_certificates yolunu dağıtımınıza göre ayarlayın (CentOS için: /etc/pki/tls/certs/ca-bundle.crt)

4 AUTH (Kimlik Doğrulama) Tanımlaması

Exim yapılandırma dosyasında begin authenticators bölümüne aşağıdaki kimlik doğrulama tanımlamasını ekleyin:

# begin authenticators bölümüne ekleyin:
# ============================================
# MXGate SMTP Authentication
# ============================================
mxgate_auth:
driver = plaintext
public_name = LOGIN
client_send = : MXGATE_KULLANICI_ADI : MXGATE_SIFRE
.ifndef AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS
client_condition = ${if eq{$tls_out_cipher}{}{}{*}}
.endif

Güvenlik: MXGATE_KULLANICI_ADI ve MXGATE_SIFRE yerine MXGate panelinden aldığınız gerçek kimlik bilgilerini yazın. Format: : username : password (İki nokta ile başlar)

client_condition satırı, şifrelerin sadece TLS şifreli bağlantıda gönderilmesini sağlar.

5 Yapılandırmayı Doğrulama ve Yeniden Başlatma

Değişikliklerden önce yapılandırma dosyasının syntax'ını kontrol edin:

# Syntax kontrolü:
exim -bV
# Detaylı syntax kontrolü:
exim -C /etc/exim/exim.conf -bV
# Hata yoksa Exim\'i yeniden başlat:
systemctl restart exim
# veya:
service exim restart
# veya:
/etc/init.d/exim restart
# Servis durumunu kontrol edin:
systemctl status exim
# Exim süreçlerini kontrol edin:
ps aux | grep exim

6 Test ve Doğrulama

Yapılandırmanın çalışıp çalışmadığını test edin:

# Test e-postası gönder:
echo "Subject: Test" | exim -v test@example.com
# Exim loglarını izle:
tail -f /var/log/exim/mainlog
# veya:
tail -f /var/log/exim4/mainlog
# veya:
tail -f /var/log/mail.log
# Başarılı bağlantı görmelisiniz:
"smtp.mxgate.com.tr [IP]:587 connected"
"TLS: using cipher TLSv1.3..."
"250 OK id=xxx"
"=> test@example.com R=mxgate_smarthost"
# Hata görebilirsiniz:
"535 Incorrect authentication data"
"connection refused"
# Exim debug modunda çalıştırma:
exim -d -Mvl <message-id>
# Router debug:
exim -d -bt test@example.com

Başarılı! Artık tüm outgoing e-postalarınız MXGate üzerinden şifreli ve kimlik doğrulamalı olarak iletiliyor.

Sorun Giderme

535 Incorrect authentication data:

Kullanıcı adı/şifre yanlış. AUTH bölümündeki client_send formatını kontrol edin: : username : password

router omitted: no_more flag set:

Router sıralaması yanlış. mxgate_smarthost router'ını dnslookup'tan ÖNCE eklediğinizden emin olun.

TLS required but not available:

Exim TLS desteği ile derlenmemiş olabilir. Veya tls_verify_certificates dosyası bulunamıyor olabilir.

Connection refused:

Güvenlik duvarı 587 portunu engelliyor olabilir. Sunucu IP adresinizin MXGate whitelist'inde olduğundan emin olun.

Unrecognized option:

Syntax hatası var. Boşluk ve sekme karakterlerini kontrol edin. Exim boşluklara çok duyarlıdır.

Debian/Ubuntu Exim4 Özel

Debian/Ubuntu sistemlerde Exim4 "split configuration" kullanabilir. Bu durumda:

# Split configuration kullanıyorsanız:
sudo nano /etc/exim4/conf.d/router/150_mxgate
sudo nano /etc/exim4/conf.d/transport/30_mxgate
sudo nano /etc/exim4/conf.d/auth/30_mxgate
# Yapılandırmayı yeniden oluştur:
sudo update-exim4.conf
sudo systemctl restart exim4
# Veya tek dosya moduna geç:
sudo dpkg-reconfigure exim4-config
# "internet site; mail is sent and received directly using SMTP" seç