Project

General

Profile

Exchange8BitMime » History » Version 6

« Previous - Version 6/12 (diff) - Next » - Current version
Amministratore Truelite, 03/08/2006 03:11 PM


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 oppurtuna: {{{
exchange unix - - - - - smtp -o smtp_never_send_ehlo=yes
}}}

In {{{/etc/postfix/main.cf}}} va indicato il file da usare come transport_map {{{
transport_maps = hash:/etc/postfix/transport
}}}

Infine, va creato il file {{{/etc/postfix/transport}}}: {{{
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;
Action: failed
Status: 5.6.1
Diagnostic-Code: smtp;554 5.6.1 Body type not supported by Remote Host
}}}