none
Exchange 2010 - Routing Transport Agent e custom header scompaiono per i messaggi inviati con OWA/MAPI e scaricati via POP/IMAP RRS feed

  • 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
    giovedì 2 giugno 2011 20:02

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 categorizer

    I 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.aspx

    I 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!
    .m

    Massimiliano Luciani

     

    • Proposto come risposta Anca Popa martedì 7 giugno 2011 12:19
    • Contrassegnato come risposta Anca Popa giovedì 9 giugno 2011 07:03
    venerdì 3 giugno 2011 13:39