Exim4'ü şifre korumalı bir ssl smtp posta sunucusu üzerinden posta gönderecek şekilde nasıl yapılandırabilirim?


19

Cronjobs'larımın ev bilgisayarımdan posta gönderebilmesini istiyorum. Sunucularım exim4'ü şu şekilde yapılandırır:

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

Ancak, evde, ISS'm doğrudan bir güvenlik duvarı üzerinden gönderilen postaları engelliyor. Ben posta yoluyla yönlendirebilirsiniz bir şifre korumalı ssl smtp sunucusu var, ama bu işi yapmak için exim4 yapılandırmak nasıl anlamaya başarısız oldu. Birisi bana burada ana bilgisayar adı, kullanıcı adı, şifre ve "ssl kullanın" ekleyebilir bir yapılandırma örneği verebilir umuyoruz tek bir smtp sunucusu üzerinden posta göndermek için olsun.

Yanıtlar:


25

Sonunda gerçekten işe yarayan Tony Scelfo'nun ayrıntılı talimatlarını buldum . Bağlantı noktası 587'de taşıma katmanı güvenliği (TLS) kullanmanız gerektiği anlaşılıyor. Çalışmak için SSL SMTP'yi almadım.

İlk olarak sudo dpkg-reconfigure exim4-configşu yapılandırma seçeneklerini çalıştırın ve kullanın:

  • Genel posta yapılandırması türü: smarthost tarafından gönderilen postalar; SMTP veya fetchmail yoluyla alındı
  • Sistem posta adı: <ana bilgisayar adınız >
  • Gelen SMTP bağlantılarını dinleyecek IP adresi: 127.0.0.1
  • Postasının kabul edildiği diğer yerler: <ana makine adınız>
  • Posta gönderilecek makineler: <bu alanı boş bırakın>
  • Giden akıllı ana makinenin IP adresi veya ana bilgisayar adı: mail.example.com::587
  • Giden postadaki yerel posta adı gizlensin mi?
    • Evet - tüm giden postaların Gmail hesabınızdan geldiği görülüyor
    • Hayır - geçerli bir gönderen adı üstbilgisi ile gönderilen postalar gönderenin adını koruyacak
  • DNS sorgularının sayısını minimum tutun (İsteğe Bağlı Arama)? Hayır
  • Yerel posta için dağıtım yöntemi: <tercih ettiğiniz postayı seçin>
  • Yapılandırma dosyası küçük dosyalara bölünür mü? Evet (sonraki dosyalardan birini düzenlemeniz gerekir)

Ardından sudo vi /etc/exim4/passwd.clientposta barındırıcınız ve sahip olduğu diğer adlar için aşağıdaki satırları çalıştırın ve ekleyin nslookup. Postaları yönlendirmek istediğiniz hesabın yerine <e-posta adresi> ve <parola> yazın):

mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>

passwd.clientDosyayı düzenledikten sonra sudo update-exim4.conf, değişikliklerinizi Exim4 yapılandırmanıza entegre edecek şekilde çalıştırın .

Çalıştırın sudo /etc/init.d/exim4 restartve hizmetin durduğundan ve düzgün başladığından emin olun. Hizmet yeniden başlatılamıyorsa, passwd.clientdosyayı düzenlediğinizde büyük olasılıkla bir şeyler ters gitti .

Exim4 yeniden başlatıldıysa, devam edin ve sudo tail -f /var/log/exim4/mainlogposta günlüklerini izlemek için çalıştırın . Farklı bir pencerede, sisteminizden bir e-posta gönderin ve içinde bir kayıt gördüğünüzden emin olun R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16. X=TLSPosta istediğini aktarım katmanı güvenliği ile gönderildiğini demektir.


1
Her /etc/exim4/passwd.clientiki şekilde de ayrı bir dosya olduğundan "yapılandırma dosyasını küçük dosyalara bölmeye" gerek yok .
Çalıştır CMD

SMTP bağlantı noktasını belirtmenin tüm posta sunucularıyla çalışmayabileceğini lütfen unutmayın. Ancak exim4, posta sunucusu tarafından sunuluyorsa TLS'yi varsayılan SMTP bağlantı noktasıyla kullanır. Aşağıdaki X=bilgilere bakarak kontrol edilebilir/var/log/exim4/mainlog
çalıştırın

Lütfen, beni doğru yöne yönlendirin. Bazı soruları kopyalamak istemiyorum. Tüm kullanıcıların HOME dizinlerinde kendi stmp şifrelerini ayarlamasını istersem ne olur? Exim4 çeşitli passwd.client arayacak mı? Tx
Dr Beco

Bu bana yeni bir soru gibi geliyor
Stephen Ostermiller

@DrBeco Bu soruya veya cevaba özgü olmayan belirli bir sorunuz varsa , lütfen soru olarak sorun .
Thomas Ward

5

ISS'niz kimlik doğrulaması gerektiriyorsa, dc_smarthost'u ISS'nizin kullandığı posta sunucusu ana makine adı ve bağlantı noktası kombinasyonuna, dc_eximconfig_configtype'yi de "smarthost" olarak ayarlamanız gerekir:

dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'

Ardından, kimlik bilgilerinizi aşağıdaki /etc/exim4/passwd.clientgibi ekleyebilirsiniz :

mail.example.com:username:password

Ardından, exim4 sunucunuz aracılığıyla gönderilen postalar bu posta ana bilgisayarı üzerinden yönlendirilir.


10
Update-exim4.conf'da olduğu gibi smarthost hattı için iki nokta koydum dc_smarthost='mail.example.com::587've tüm farkı yarattı ! Sonunda posta göndermeye başladı.
Marcos

+1 Bu, birçok öğreticide gördüğüm çok yaygın bir hatadır.
TwystO

4

Bu benim için çok iyi çalışıyor. İSS'm 25 numaralı bağlantı noktasını kullanıyor ve dc_smarthost='myisp.mail.server:25' bu dosyaları ve sorun komutlarını değiştirdikten sonra:

  1. update-exim4.conf
  2. /etc/init.d/exim4 restart

Ben exim4 klasik örnek üzerinden bir e-posta göndermek için bir test yaptıktan sonra:

echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" my-user-in-isp@my-domain-url

Ve bunlar akış ok arasında gelen kutusu için my-userde my-domain-url.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.