Da diverso tempo Tiscali ha modificato le politiche di accesso ai suoi server SMTP ed obbliga a passare per la porta 465 invece delle classica 25.
Alcuni script in automatico sulla mia macchina non riuscivano a mandare la mail per avvisarmi di modifiche, reboot od altro.
Ho impostato postfix per poter utilizzare la nuova porta in questo modo:
aggiungo al /etc/postfix/main.cf le seguenti righe:
relayhost = [localhost]:11125
# SASL SUPPORT FOR SERVERS
#
# The following options set parameters needed by Postfix to enable
# Cyrus-SASL support for authentication of mail servers.
#
smtp_sender_dependent_authentication = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options =
il file /etc/postfix/sasl_passwd
deve contenere le seguenti informazioni
[server]:porta userid@domain:password
esempio
[localhost]:11125 userid@domain:password
Compilo il file per farlo digerire con postmap /etc/postfix/sasl_passwd
Siccome la versione di postfix non consente l’uso della porta 465 utilizzata da Tiscali per i suoi servizi, ho installato stunnel4 per fare un tunnel verso i server di Tiscali
ho creato il file /etc/stunnel/stunnel_tiscali.confcon il seguente contenuto
client = yes
foreground = no
[smtp-tls-wrapper]
accept = 11125
client = yes
connect = smtp.tiscali.it:smtps
ed ho abiitato il servizio modificando il file /etc/default/stunnel4 in questo modo:
# /etc/default/stunnel
# Julien LEMOINE <speedblue@debian.org>
# September 2003
# Change to one to enable stunnel automatic startup
ENABLED=1
FILES=”/etc/stunnel/*.conf”
OPTIONS=””
# Change to one to enable ppp restart scripts
PPP_RESTART=0
a questo punto uno start o restart dei servizi
service stunnel4 start
service postfix restart
Ma qui sono iniziati i problemi !!
il primo è che postfix non riusciva a risolvere il “localhost” con l’ip V4.. ma solo con :::1 della V6.. Ho modificato allora la riga del file /etc/postfix/main.cf
relayhost = [localhost]:11125
modificando localhost in 127.0.0.1 ed ho eliminato il problema.
Dai test successivi, ho visto nel syslog che era presente l’errore
warning: numeric domain name in resource data of MX record for smtp.tiscali.it: 127.0.0.1
e qui non sono riuscito a capire il problema: Facendo risolvere smtp.ticali.it a dig e nslookup ottengo dei risultati differenti.. o per meglio dire
dig smtp.tiscali.it mx +short
0 127.0.0.1.
con nslookup
nslookup smtp.tiscali.it
Server: 192.168.1.20
Address: 192.168.1.20#53
Non-authoritative answer:
Name: smtp.tiscali.it
Address: 213.205.33.13
Sembra che postfix faccia una richiesta andando a cercare il campo mx all’interno del record del dns, quando invece
dig smtp.tiscali.it +short
213.205.33.13
il cname viene risolto. Per ovviare al problema, invece di usare il cname ho impostato l’ip fisico, e cioé all’interno di /etc/stunnel/stunnel_tiscali.confcon:
connect = smtp.tiscali.it:smtps
diventa
connect = 213.205.33.13:smtps
Altra prova ed altro errore …
sender rejected - il mittente non coincide con la username configurata per l'autenticazione. Vedi http://assistenza.tiscali.it/tecnica/posta/mancato_invio.php (in reply to MAIL FROM command))
Creo allora il file /etc/postfix/sender_canonical il cui contenuto permette di inviare la posta dall’utente “user” tramite l’inidizzo di posta “email-address” (es. root invia la posta tramite user@domail.com)
user email-address
configuro postfix per utilizzare questo nuovo file
postconf -e "sender_canonical_maps=hash:/etc/postfix/sender_canonical"
lo compilo con
sudo postmap hash:/etc/postfix/sender_canonical
e tutto ha funzionato alla perfezione !!
posso mandare le mail dal mio sistema senza problemi !!
echo "This is the body of a test message" | mutt -s "Test message" user@domain.com

