Zimbra Relay Host Kurulumu
Zimbra altta Postfix çalıştırır, ancak Postfix dosyalarına elle dokunulmaz: yapılandırma Zimbra’nın kendi veritabanından yeniden üretilir, elle yapılan değişiklik ilk yeniden üretimde kaybolur. Bu yüzden relay host, kimlik doğrulama ve TLS ayarlarının tamamı zmprov özellikleriyle tanımlanır. Gelen posta ayarlarınıza ve MX kaydınıza dokunulmaz.
Değişen tek şey postanın çıkış yolu
Bugün Zimbra’nın MTA’sı e-postayı alıcının sunucusuna 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.
Yedi adımda Zimbra relay host kurulumu
Komutların tamamı zimbra kullanıcısıyla çalıştırılır. Aşağıdaki örneklerde sunucu adı yerine zmhostname çıktısı kullanılmıştır; kopyaladığınızda düzenlemeniz gerekmez.
-
zimbra kullanıcısına geçin ve sunucu adını alın
Zimbra komutları root ile değil zimbra kullanıcısıyla çalıştırılır; root ile çalıştırmak dosya sahipliklerini bozar. Özellikler sunucu düzeyinde tutulduğundan, komutlarda kullanacağınız sunucu adını da almanız gerekir.
KABUK kopyalayınsu - zimbra zmhostname # Çıktı, aşağıdaki komutlarda kullanılacak sunucu adıdır
-
Relay host adresini tanımlayın
Giden postanın teslim edileceği adresi porta kadar tek satırda verirsiniz. Zimbra bu değeri Postfix yapılandırmasına kendisi yazar; dosyaları elle düzenlemeniz gerekmez.
ZMPROV kopyalayınzmprov ms $(zmhostname) zimbraMtaRelayHost smtp.mxgate.com.tr:587
Aynı ayar yönetici konsolunda Configure › MTA altındaki relay alanından da girilebilir. Konsol yalnızca adresi ayarlar; kimlik bilgileri için sonraki adımlar yine gereklidir. -
Kimlik bilgisi dosyasını oluşturun ve derleyin
Kullanıcı adı ve şifre ayrı bir dosyada tutulur. Satırın başındaki anahtar relay host adıyla aynı olmalıdır. Dosya düz metin olarak okunmaz; postmap ile derlenmiş sürümü kullanılır.
/opt/zimbra/conf/relay_password kopyalayın# Tek satır: makine, boşluk, kullanıcı:şifre smtp.mxgate.com.tr KULLANICI:SIFRE # İzni kısıtlayın ve derleyin chmod 600 /opt/zimbra/conf/relay_password postmap lmdb:/opt/zimbra/conf/relay_password # Anahtar gerçekten bulunuyor mu? postmap -q smtp.mxgate.com.tr lmdb:/opt/zimbra/conf/relay_password
Anahtar port içermez. Relay host’usmtp.mxgate.com.tr:587olarak verseniz bile bu dosyada yalnızca makine adı yazar. Son satırdaki sorgu kullanıcı adını geri döndürmüyorsa eşleşme yok demektir. -
SASL kimlik doğrulamayı açın
Kimlik doğrulamayı etkinleştirin, kimlik dosyasının yerini bildirin ve adresin CNAME kaydına göre değiştirilmesini kapatın. Üçü birlikte çalışır; biri eksik kaldığında kimlik doğrulama sessizce denenmez.
ZMPROV · ZCS 8.5+ kopyalayınzmprov ms $(zmhostname) zimbraMtaSmtpSaslAuthEnable yes zmprov ms $(zmhostname) zimbraMtaSmtpSaslPasswordMaps lmdb:/opt/zimbra/conf/relay_password zmprov ms $(zmhostname) zimbraMtaSmtpCnameOverridesServername no
ZCS 8.0 kullanıyorsanız aynı üç ayarzmlocalconfig -e postfix_smtp_sasl_auth_enable=yesbiçiminde girilir ve dosya biçimilmdb:değilhash:olur. Sürüm karşılaştırması aşağıdaki tabloda. -
TLS ve güvenlik seçeneklerini ayarlayın
Bağlantının şifrelenmesini ve anonim kimlik doğrulamanın devre dışı kalmasını sağlayın. Anonim yöntem açık kaldığında Postfix kullanıcı adı ve şifre göndermeyen bir yöntem seçebilir ve kimlik doğrulama hiç gerçekleşmez.
ZMPROV · TLS kopyalayınzmprov ms $(zmhostname) zimbraMtaSmtpTlsSecurityLevel may zmprov ms $(zmhostname) zimbraMtaSmtpSaslSecurityOptions noanonymous
-
Değişiklikleri uygulayın ve doğrulayın
Zimbra 8.0 ve üzerinde yapılan değişiklikler yaklaşık iki dakika içinde kendiliğinden Postfix yapılandırmasına yansır. Beklemek istemiyorsanız MTA’yı yeniden başlatabilir, ardından ayarların gerçekten oturduğunu Postfix tarafından kontrol edebilirsiniz.
KABUK · UYGULA VE DOĞRULA kopyalayın# Hemen uygulamak isterseniz zmmtactl restart # Postfix tarafında yerine oturdu mu? postconf -n | grep -E 'relayhost|smtp_sasl|smtp_tls_security_level' # Zimbra tarafındaki değerleri okuyun zmprov gs $(zmhostname) | grep -i mtaSmtpSasl
-
Bir e-posta gönderip kaydı okuyun
Zimbra üzerindeki bir hesaptan dışarıya e-posta gönderin ve kayıtta iletinin MXGate üzerinden çıktığını doğrulayın. Kayıtta relay adresini ve gönderildi durumunu görüyorsanız kurulum çalışıyor demektir.
TEST · KAYIT kopyalayın# Canlı posta kaydı tail -f /var/log/zimbra.log # Kayıtta görmeniz gereken satır status=sent (250 2.0.0 Ok: queued) relay=smtp.mxgate.com.tr[…]:587
Kurulum tamam. Bu satırı gördüğünüzde sunucudan çıkan tüm posta kimlik doğrulamalı ve şifreli olarak MXGate üzerinden gidiyor demektir.
Kurulumun dokunduğu altı özellik
Kurulum bittiğinde sunucuda aşağıdaki altı değer tanımlı olmalıdır. Bir sorun yaşarsanız önce bu listeyi zmprov gs çıktısıyla karşılaştırın.
| Özellik | Değer | Ne yapar |
|---|---|---|
| zimbraMtaRelayHost | smtp.mxgate.com.tr:587 | Giden postanın teslim edileceği adres. Port iki nokta ile aynı satırda verilir. |
| zimbraMtaSmtpSaslAuthEnable | yes | Giden bağlantıda kimlik doğrulamayı açar. Kapalıyken kullanıcı adı ve şifre hiç gönderilmez. |
| zimbraMtaSmtpSaslPasswordMaps | lmdb:/opt/zimbra/conf/relay_password | Kimlik bilgilerinin okunacağı derlenmiş dosya. Zimbra 8.5 ve üzeri lmdb, 8.0 ise hash biçimini kullanır. |
| zimbraMtaSmtpSaslSecurityOptions | noanonymous | Anonim kimlik doğrulamayı devre dışı bırakır. Bu değer verilmediğinde Postfix kullanıcı adı ve şifre gönderen yöntemleri seçmeyebilir. |
| zimbraMtaSmtpTlsSecurityLevel | may | Karşı taraf destekliyorsa bağlantıyı TLS ile şifreler. MXGate 587 portunda STARTTLS sunar. |
| zimbraMtaSmtpCnameOverridesServername | no | Postfix’in adresi CNAME kaydına göre değiştirmesini engeller; kimlik dosyasındaki anahtarın eşleşmesini güvence altına alır. |
ZCS 8.0 kullanıyorsanız
Zimbra 8.5 ile birlikte bu ayarlar zmprov özelliklerine taşındı. 8.0 sürümünde aynı işler yerel yapılandırma komutuyla yapılır ve kimlik dosyası lmdb yerine hash biçiminde derlenir.
zmlocalconfig -e postfix_smtp_sasl_auth_enable=yes zmlocalconfig -e postfix_smtp_sasl_password_maps=hash:/opt/zimbra/conf/relay_password zmlocalconfig -e postfix_smtp_sasl_security_options=noanonymous zmlocalconfig -e postfix_smtp_tls_security_level=may zmlocalconfig -e postfix_smtp_cname_overrides_servername=no # Dosyayı da hash biçiminde derleyin postmap hash:/opt/zimbra/conf/relay_password
Özellik adları ve dosya biçimleri üretici belgelerinden alınmıştır: Zimbra Tech Center — Outgoing SMTP Authentication.
Posta kaydında gördüğünüz hata ne anlama geliyor?
Aşağıdaki altı satır, Zimbra relay host kurulumundan sonra karşılaşılan sorunların neredeyse tamamını kapsar. Belirtiyi soldaki sütunda arayın.
| Belirti | Ne anlama gelir | Çözüm |
|---|---|---|
| SASL authentication failed | Kimlik dosyasındaki anahtar bulunamıyor | postmap -q ile anahtarı sorgulayın; kullanıcı adını geri döndürmüyorsa satırdaki makine adı relay host ile aynı değildir. Dosyayı düzeltip postmap komutunu yeniden çalıştırın. |
| Kimlik doğrulama hiç denenmiyor | SASL kapalı veya anonim yöntem seçiliyor | zimbraMtaSmtpSaslAuthEnable değerinin yes, zimbraMtaSmtpSaslSecurityOptions değerinin noanonymous olduğunu doğrulayın. İkincisi eksikken Postfix şifre göndermeyen bir yöntem seçebilir. |
| unsupported dictionary type: lmdb | Sürüm lmdb biçimini desteklemiyor | ZCS 8.0’da dosya hash biçiminde derlenir. postmap hash:/opt/zimbra/conf/relay_password komutunu kullanın ve ayarı da hash: ile verin. |
| Ayar uygulanmıyor | zmprov komutunda yanlış sunucu adı kullanılmış | Sunucu adı zmhostname çıktısıyla birebir aynı olmalıdır. zmprov gs $(zmhostname) çıktısında değerin göründüğünü doğrulayın. |
| Değişiklik hemen geçmiyor | Yapılandırma henüz yeniden üretilmedi | Zimbra 8.0 ve üzerinde değişiklikler yaklaşık iki dakika içinde yansır. Beklemek istemiyorsanız zmmtactl restart komutunu çalıştırın. |
| Postfix dosyaları okunamıyor | Komutlar root ile çalıştırılmış | su - zimbra ile zimbra kullanıcısına geçin ve dosya sahipliğini chown zimbra:zimbra ile düzeltin. Zimbra dosyaları root sahipliğinde çalışmaz. |
Geri dönüş
Kurulumdan vazgeçmek isterseniz relay host özelliğini boşaltmanız yeterli; kimlik dosyasını silmenize gerek yoktur. Yapılandırma yeniden üretildiğinde sunucu postayı önceki gibi doğrudan göndermeye döner.
# Yönlendirmeyi ve kimlik doğrulamayı kapatın zmprov ms $(zmhostname) zimbraMtaRelayHost '' zmprov ms $(zmhostname) zimbraMtaSmtpSaslAuthEnable no zmmtactl restart
Zimbra yöneticilerinden gelen sorular
Komutları root kullanıcısıyla çalıştırabilir miyim?
Hayır. Zimbra yönetim komutları zimbra kullanıcısıyla çalıştırılmalıdır; su - zimbra ile geçtikten sonra devam edin. Root ile çalıştırıldığında oluşturulan dosyaların sahipliği bozulur ve Postfix bunları okuyamaz. Bozulmuş sahipliği chown zimbra:zimbra ile düzeltebilirsiniz.
Bu ayarları yönetici konsolundan yapabilir miyim?
Kısmen. Relay host adresi yönetici konsolunda Configure bölümündeki MTA sekmesinden girilebilir. Ancak kimlik bilgileri, SASL ve TLS ayarları konsolda bulunmaz; bunlar komut satırından tanımlanır. Yalnızca konsoldan adresi girip komut satırındaki adımları atlarsanız bağlantı kimlik doğrulaması olmadan denenir ve reddedilir.
Değişiklikten sonra MTA’yı yeniden başlatmam gerekiyor mu?
Zimbra 8.0 ve üzerinde gerekmez; yapılan değişiklikler yaklaşık iki dakika içinde Postfix yapılandırmasına kendiliğinden yansır. Beklemek istemiyorsanız zmmtactl restart komutuyla hemen uygulayabilirsiniz. Daha eski sürümlerde postfix reload çalıştırmak gerekir.
Ayar sunucu düzeyinde mi yoksa tüm kurulum için mi geçerli?
zmprov ms komutu ayarı yalnızca adı verilen sunucuya uygular; zmprov mcf ise kurulumun tamamı için geçerli olan genel ayarı değiştirir. Sunucu düzeyindeki değer genel değeri geçersiz kılar. Birden çok MTA sunucusu varsa ayarı her birinde ayrı yapmanız veya genel ayarı kullanmanız gerekir.
Bu kurulum gelen e-postaları etkiler mi?
Hayır. Relay host ayarı yalnızca sunucudan çıkan postanın hangi yoldan gideceğini belirler. Posta kutularınız, 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.