Progetto

Generale

Profilo

Exchange8BitMime » Cronologia » Versione 12

Simone Piccardi, 21-12-2010 12:25

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
Risulta comodo creare un transport apposito per i server che hanno questo problema, lasciando la piena funzionalità per tutti gli altri.
9
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 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
18 11 Amministratore Truelite
<pre>
19
transport_maps = hash:/etc/postfix/transport
20 1 Amministratore Truelite
</pre>
21
22 12 Simone Piccardi
Infine, va creato il file @/etc/postfix/transport@ con contenuto: 
23
24 1 Amministratore Truelite
<pre>
25
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
postmap /etc/postfix/transport
32
</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
38
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
Received-From-MTA: dns;FBCMFE02B07.fbc.local
44
Arrival-Date: Thu, 2 Feb 2006 10:15:44 +0100
45
       
46
Final-Recipient: rfc822;user@broken.tld
47
Action: failed
48
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>