Principale utente con più risposte
Exchange 2010 - Routing Transport Agent e custom header scompaiono per i messaggi inviati con OWA/MAPI e scaricati via POP/IMAP

Domanda
-
Salve,
Ho scritto un Routing Transport Agent (RTA) per Exchange 2010 che intercetta le emails che hanno destinatari in Bcc.
Ciò si è reso necessario in quanto non è possibile creare una transport rule che soddisfi la condizione di cui sopra. Infatti non è possibile applicare un filtro alle email che hanno destinatari in Bcc.
La logica della RTA è questa: se la mail ha un destinatario in Bcc, la RTA aggiunge un header X-Bcc impostato a Yes; se non c'è un destinatario in Bcc la RTA non aggiunge nessun header.
La RTA utilizza l'evento OnResolvedMessage.
Tutto funziona bene per le email inviate via SMTP che soddisfano la condizione di cui sopra, infatti accedendo all'email via POP/IMAP/OWA/MAPI, nell'intestazione del messaggio c'è l'header X-Bcc: Yes.
Il problema si presenta per le email inviate via OWA o MAPI, in quanto visualizzando l'intestazione messaggio via OWA o MAPI l'header X-Bcc c'è, mentre se accedo alla stessa email via POP o IMAP l'header X-Bcc è scomparso.
In un primo momento ho pensato ad un problema del client di posta, pertanto ho provato a scaricare la email via POP/IMAP con Outlook Express, Microsoft Outlook, Thunderbird ma l'esito non cambia, l'header X-Bcc sembra scomparso nel nulla, ma fà bella mostra di se accedo alla stessa mail via OWA o MAPI.
A questo punto ho sniffato il traffico di rete in fase di download della email dal server via POP/IMAP ma effettivamente tra i pacchetti l'header X-Bcc non c'è, quindi escludo che è un problema del client.
Mi domando com'è possibile che l'header di un messaggio c'è se lo visualizzo da OWA o MAPI, ma per lo stesso messaggio non c'è ne traccia se lo scarico via POP/IMAP?A titolo esemplificativo allego l'intestazione del messaggio incriminato.
L'intestazione messaggio per la email inviata con OWA o MAPI ha l'header X-Bcc: Yes
X-Bcc: Yes
Received: from e2k10.test.local ([fe80::4104:565b:c852:9d0b]) by
e2k10.test.local ([fe80::4104:565b:c852:9d0b%10]) with mapi id
14.01.0289.001; Wed, 1 Jun 2011 23:53:23 +0200
Content-Type: application/ms-tnef; name="winmail.dat"
Content-Transfer-Encoding: binary
From: 1 <1@laf.dynalias.com>
To: 1 <1@laf.dynalias.com>
Subject: owa 2
Thread-Topic: owa 2
Thread-Index: AcwgplLSNt/Kj5LMQ26T30ShNAJ8uQ==
Content-Class: urn:content-classes:message
Date: Wed, 1 Jun 2011 23:53:21 +0200
Message-ID: <CEB4C4DE-45ED-4BB5-88F1-F1A31CABFD22@mimectl>
Accept-Language: en-US, it-IT
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator: <CEB4C4DE-45ED-4BB5-88F1-F1A31CABFD22@mimectl>
MIME-Version: 1.0
X-MS-Exchange-Organization-AuthSource: e2k10.test.local
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-Originating-IP: [192.168.88.3]Lo stesso messaggio scaricato via POP o IMAP non ha più l'header X-Bcc: Yes
Received: from e2k10.test.local ([fe80::4104:565b:c852:9d0b]) by
e2k10.test.local ([fe80::4104:565b:c852:9d0b%10]) with mapi id
14.01.0289.001; Wed, 1 Jun 2011 23:53:23 +0200
From: 1 <1@laf.dynalias.com>
To: 1 <1@laf.dynalias.com>
Subject: owa 2
Thread-Topic: owa 2
Thread-Index: AcwgplLSNt/Kj5LMQ26T30ShNAJ8uQ==
Content-Class: urn:content-classes:message
Date: Wed, 1 Jun 2011 23:53:21 +0200
Message-ID: <CEB4C4DE-45ED-4BB5-88F1-F1A31CABFD22@mimectl>
Accept-Language: en-US, it-IT
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-MS-Exchange-Organization-AuthSource: e2k10.test.local
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <49D49E37D1A6FC4395B94C1F0D60820E@test.local>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0- Modificato Anca Popa martedì 7 giugno 2011 12:21 linguaggio SMS
Risposte
-
Ciao,
grazie per aver posto una domanda del genere :-)
Ho letto più volte il tuo post, il problema secondo me non sta all'interno del categorizerI 4 stage del Categorizer sono:
1. OnSubmittedMessage - risolve i recipienti
2. OnResolverdMessage - routing e topology
3. OnRoutedMessage - content conversion ed eventualmente bifurcation
4. OnCategorizedMessage - dsn ecc.Direi quindi che l'evento che hai utilizzato è giusto.
Prova ad abilitare il pipeline tracing, ti permette di vedere il tracciato completo di quello che sta succedendo
http://technet.microsoft.com/en-us/library/bb125018.aspxI dati all'interno di un db di exchange vengono immagazzinati tramite proprietà mapi, è poi lo store driver che tramite il componente XSO fa la conversione in mime.
Non ho una soluzione al tuo problema, però intanto inizia a vedere cosa succede con il pipeline tracing abilitato ed eventualmente cerca di capire come si comporta l'evento OnPromotedMessage nello Store Driver.
Sai qual è il problema? E' che Microsoft non ha rilasciato nessun documento di architettura inerente i componenti pop3/imap :-)
Se non trovi nulla di utile allore bisogna andare di tracing e son dolori!
.mMassimiliano Luciani