Come configurare exim4 per inviare posta tramite un server di posta smtp ssl protetto da password?

19

Vorrei che i miei cronjobs fossero in grado di inviare posta dal mio computer di casa. I miei server configurano exim4 in questo modo:

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'

Tuttavia, a casa, il mio ISP blocca la posta inviata direttamente tramite un firewall. Ho un server smtp protetto da password che ho potuto indirizzare attraverso la posta, ma non sono riuscito a capire come configurare exim4 per farlo funzionare. Spero che qualcuno possa darmi un esempio di configurazione in cui posso inserire il nome host, il nome utente, la password e "usa ssl" per ottenere l'invio della posta attraverso un singolo server smtp.

    
posta Stephen Ostermiller 23.07.2012 - 13:29

3 risposte

24

Ho finalmente trovato un set dettagliato di istruzioni di Tony Scelfo che in realtà funziona . Sembra che tu debba utilizzare la sicurezza del livello di trasporto (TLS) sulla porta 587. Non ho ancora ottenuto il protocollo SMTP SMTP per funzionare.

Prima prova sudo dpkg-reconfigure exim4-config e usa queste opzioni di configurazione:

  • Tipo generale di configurazione della posta: posta inviata da smarthost; ricevuto tramite SMTP o fetchmail
  • Nome mail di sistema: & lt; nomehost & gt;
  • Indirizzo IP per l'ascolto delle connessioni SMTP in entrata: 127.0.0.1
  • Altre destinazioni per le quali la posta è accettata: & lt; il tuo nome host & gt;
  • Macchine per inoltrare la posta per: & lt; lascia questo campo bianco & gt;
  • Indirizzo IP o nome host dello smarthost in uscita: mail.example.com::587
  • Nascondi il nome della posta locale nella posta in uscita?
    • Sì: tutta la posta in uscita apparirà dal tuo account Gmail
    • No - mail inviata con un'intestazione del nome del mittente valido manterrà il nome del mittente
  • Tieni il numero minimo di query DNS (Dial-on-Demand)? No
  • Metodo di consegna per posta locale: & lt; scegli quello che preferisci & gt;
  • Dividi il file di configurazione in file di piccole dimensioni? Sì (devi modificare uno dei file successivo)

Quindi esegui sudo vi /etc/exim4/passwd.client e aggiungi le seguenti linee per il tuo host di posta e qualsiasi alias che ha (trovato tramite nslookup ). Sostituisci & lt; indirizzo email & gt; e & lt; password & gt; con l'account che vuoi indirizzare tramite posta):

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

Dopo aver modificato il file passwd.client , esegui sudo update-exim4.conf che integrerà le tue modifiche nella configurazione di Exim4.

Esegui sudo /etc/init.d/exim4 restart e assicurati che il servizio si arresti e si avvii correttamente. Se il servizio non è in grado di riavviarsi, qualcosa probabilmente è andato storto quando hai modificato il file passwd.client .

Se Exim4 viene riavviato, vai avanti ed esegui sudo tail -f /var/log/exim4/mainlog per guardare i log della posta. In una finestra diversa, invia un'email dal tuo sistema e assicurati di vedere un record seguito da R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16 in esso. Il X=TLS significa che la posta viene inviata con sicurezza del livello di trasporto che è ciò che desideri.

    
risposta data Stephen Ostermiller 18.04.2013 - 00:16
5

Se l'ISP richiede l'autenticazione, è necessario impostare dc_smarthost sulla combinazione di hostname e porta del server di posta utilizzata dall'ISP e dc_eximconfig_configtype su "smarthost" in questo modo:

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

Quindi, puoi aggiungere le tue credenziali a /etc/exim4/passwd.client in questo modo:

mail.example.com:username:password

Quindi, qualsiasi posta inviata tramite il server exim4 verrà instradata attraverso questo host di posta.

    
risposta data dobey 23.07.2012 - 15:16
4

Questo funziona molto bene per me. Il mio ISP utilizza la porta 25 e dc_smarthost='myisp.mail.server:25' dopo aver modificato i file e emesso i comandi:

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

Dopo aver eseguito un test per inviare un'email tramite exim4 classic sample come

echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" [email protected]

E questi flussi vanno bene nella posta in arrivo di my-user in my-domain-url .

    
risposta data gsavix 16.09.2012 - 07:47

Leggi altre domande sui tag