Project

General

Profile

Exchange8BitMime » History » Version 12

Simone Piccardi, 12/21/2010 12:25 PM

1 1 Amministratore Truelite
h1. Configurare Postfix per correggere un bug di Exchange per i messaggi 8BITMIME
2 11 Amministratore Truelite
3 12 Simone Piccardi
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.
4 11 Amministratore Truelite
5 1 Amministratore Truelite
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.
6 12 Simone Piccardi
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.
7 1 Amministratore Truelite
8 1 Amministratore Truelite
Risulta comodo creare un transport apposito per i server che hanno questo problema, lasciando la piena funzionalità per tutti gli altri.
9 1 Amministratore Truelite
10 12 Simone Piccardi
In @/etc/postfix/master.cf@ bisogna copiare la riga che inizia e termina con _smtp_, rinominandola ed aggiungendo l'opzione opportuna: 
11 12 Simone Piccardi
12 1 Amministratore Truelite
<pre>
13 11 Amministratore Truelite
exchange  unix  -       -       -       -       -       smtp -o smtp_never_send_ehlo=yes
14 1 Amministratore Truelite
</pre>
15 11 Amministratore Truelite
16 12 Simone Piccardi
In @/etc/postfix/main.cf@ va indicato il file da usare come @transport_map@ con la direttiva:
17 12 Simone Piccardi
18 11 Amministratore Truelite
<pre>
19 11 Amministratore Truelite
transport_maps = hash:/etc/postfix/transport
20 1 Amministratore Truelite
</pre>
21 1 Amministratore Truelite
22 12 Simone Piccardi
Infine, va creato il file @/etc/postfix/transport@ con contenuto: 
23 12 Simone Piccardi
24 1 Amministratore Truelite
<pre>
25 1 Amministratore Truelite
broken.site.tld     exchange:
26 11 Amministratore Truelite
</pre>
27 1 Amministratore Truelite
28 12 Simone Piccardi
È quindi necessario lanciare il comando 
29 1 Amministratore Truelite
30 12 Simone Piccardi
<pre>
31 12 Simone Piccardi
postmap /etc/postfix/transport
32 12 Simone Piccardi
</pre>
33 11 Amministratore Truelite
34 12 Simone Piccardi
e poi riavviare postfix in modo che ricarichi la configurazione.
35 11 Amministratore Truelite
36 12 Simone Piccardi
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@.
37 12 Simone Piccardi
38 12 Simone Piccardi
39 4 Amministratore Truelite
Il tipico messaggio di errore che si riceve dai server "broken" è questo:
40 12 Simone Piccardi
41 11 Amministratore Truelite
<pre>
42 4 Amministratore Truelite
Reporting-MTA: dns;smtpout14.broken.tld
43 4 Amministratore Truelite
Received-From-MTA: dns;FBCMFE02B07.fbc.local
44 4 Amministratore Truelite
Arrival-Date: Thu, 2 Feb 2006 10:15:44 +0100
45 4 Amministratore Truelite
       
46 4 Amministratore Truelite
Final-Recipient: rfc822;user@broken.tld
47 4 Amministratore Truelite
Action: failed
48 4 Amministratore Truelite
Status: 5.6.1
49 1 Amministratore Truelite
Diagnostic-Code: smtp;554 5.6.1 Body type not supported by Remote Host
50 11 Amministratore Truelite
</pre>