Configurare Postfix per correggere un bug di Exchange per i messaggi 8BITMIME¶
Alcune versioni di Exchange hanno un'errata implementazione dell'RFC 1854 e crea dei problemi perché non sono in grado di accettare messaggi codificati con 8BITMIME
pur annunciandone la possibilità dopo l'EHLO.
Quando ricevono uno di questi messaggi i server smtp hanno quindi due opzioni: convertire il messaggio a 7 bit oppure segnalare un errore; exchange adotta quest'ultimo sistema.
La soluzione è quindi di dire a postfix di non chiedere informazioni al server exchange dopo l'EHLO. In questo modo a postfix l'altro server risulterà impossibilitato ad accettare messaggi in 8BITMIME
e farà lui stesso la conversione a 7 bit.
Risulta comodo creare un transport apposito per i server che hanno questo problema, lasciando la piena funzionalità per tutti gli altri.
In /etc/postfix/master.cf
bisogna copiare la riga che inizia e termina con smtp, rinominandola ed aggiungendo l'opzione opportuna:
exchange unix - - - - - smtp -o smtp_never_send_ehlo=yes
In /etc/postfix/main.cf
va indicato il file da usare come transport_map
con la direttiva:
transport_maps = hash:/etc/postfix/transport
Infine, va creato il file /etc/postfix/transport
con contenuto:
broken.site.tld exchange:
È quindi necessario lanciare il comando
postmap /etc/postfix/transport
e poi riavviare postfix in modo che ricarichi la configurazione.
In questo modo postfix invierà tutta la posta per il dominio broken.site.tld usando il transport che abbiamo creato e chiamato exchange, utilizzando quindi l'opzione smtp_never_send_ehlo=yes
.
Il tipico messaggio di errore che si riceve dai server "broken" è questo:
Reporting-MTA: dns;smtpout14.broken.tld Received-From-MTA: dns;FBCMFE02B07.fbc.local Arrival-Date: Thu, 2 Feb 2006 10:15:44 +0100 Final-Recipient: rfc822;user@broken.tld Action: failed Status: 5.6.1 Diagnostic-Code: smtp;554 5.6.1 Body type not supported by Remote Host
Aggiornato da Simone Piccardi quasi 14 anni fa · 12 revisions