none
Transport Agent Exchange 2013 questions and considerations RRS feed

  • Question

  • Hi,

    I need to intercept all email messages (within the org, coming in, and going out)
    save their attachments somewhere else, remove the attachments from the mail and manipulate the body to add links to the saved attachments.

    I have little exchange experience and was thinking about doing it with a Transport Agent (in an async fashion),

    I have a few questions:

    1. Is a transport agent the right way to do such a task?
    2. Using SmtpReceiveAgent and OnEndOfData, will catch all the emails?
    3. Is there a maximum time to finish my work on an EmailMessage?
    4. Should I create and install a local service to handle my saving/upload of attachments or will it work in worker threads in process?
    5. Configuration of transport agent 'Worker threads' is according to http://bit.ly/1gbsm0Y? should i be bothered with it?
    6. In a big exchange installation, which servers must install the transport agent?

    Thanks a lot,

    Asaf.

    Monday, January 6, 2014 1:29 PM

Answers

  • G'day Asaf,

    1. Yes you have to use a transport agent (specifically, a routing agent).

    2. "All emails" right ? NO, you can't use an SMTP Receive agent (you must use a routing agent - see above)

    3. No BUT, take too long and you'll stall the Exchange queue / put the server into back pressure. Be as quick as possible and if possible do the grunt work outside the agent (in a separate service).

    4. I would (as above)

    5. It depends on just how long your processing takes and how well you spec your Exchange boxes. By default (on 2007->2010, not sure about 2013) you get 6 threads per core i.e. 1 core = 6 threads, 8 core = 48 threads.

    Cheers,

    Scott


    Scott Quinn | C# developer & messaging specialist (for hire). Contact me at http://au.linkedin.com/in/scottquinn


    • Edited by Scott Quinn Friday, January 10, 2014 3:35 AM
    • Marked as answer by Asaf G Tuesday, January 21, 2014 2:02 PM
    Friday, January 10, 2014 3:31 AM

All replies

  • Hi Asaf,

    Request you to explain your situation little deeper? What are you trying to achieve?

    Perhaps you are trying to do too much of customization to your environment, may be for a simple task or something that can be done by a tool.

    If you want to strip the attachments to reduce the size of the email - why not go for an email archive tool?

    If you are concerned about legal/compliance, you can look for Premium journaling options?


    Please mark as helpful if you find my contribution useful or as an answer if it does answer your question. Regards, Siva

    Monday, January 6, 2014 5:21 PM
  • G'day Asaf,

    1. Yes you have to use a transport agent (specifically, a routing agent).

    2. "All emails" right ? NO, you can't use an SMTP Receive agent (you must use a routing agent - see above)

    3. No BUT, take too long and you'll stall the Exchange queue / put the server into back pressure. Be as quick as possible and if possible do the grunt work outside the agent (in a separate service).

    4. I would (as above)

    5. It depends on just how long your processing takes and how well you spec your Exchange boxes. By default (on 2007->2010, not sure about 2013) you get 6 threads per core i.e. 1 core = 6 threads, 8 core = 48 threads.

    Cheers,

    Scott


    Scott Quinn | C# developer & messaging specialist (for hire). Contact me at http://au.linkedin.com/in/scottquinn


    • Edited by Scott Quinn Friday, January 10, 2014 3:35 AM
    • Marked as answer by Asaf G Tuesday, January 21, 2014 2:02 PM
    Friday, January 10, 2014 3:31 AM
  • Oh ... and in answer to your last question, everywhere.

    Make sure you check out the sample code too - it's much more helpful than the (sparse) documentation.

    Cheers,

    Scott


    Scott Quinn | C# developer & messaging specialist (for hire). Contact me at http://au.linkedin.com/in/scottquinn

    Tuesday, January 14, 2014 10:22 PM