ISmtpPlugin.PostProcess delegate handler timeout and delivery defect

10 views
Skip to first unread message

Amber Clark

unread,
Apr 6, 2021, 11:28:30 PMApr 6
to ArGoSoft Products
I'm seeing something weird and it looks like a timeout/forced thread abort issue on e-mails with an ISmtpPlugin I wrote. This post is in two parts.

I have an ISmtpPlugin I wrote in C# that performs analysis on inbound and outbound mail and tests content against an array of rules I've developed over the years.

Part 1: The Question
Is there an explicit timeout for operating this call? If so, could that be configurable?

Part 2: The Defect

SUMMARY
  1. Mail Server receives an e-mail with 4 jpg files that are 8 MB in total size.
  2. Mail Server invokes the PostProcess delegate on the ISmtpPlugin implementation
  3. (I assume) the Mail Server reaches the execution timeout threshold and aborts the thread
  4. The thread is aborted 
EXPECTED:
  1. The thread timeout is written to the server log files
  2. The message is delivered to its destination
  3. The success is reported to the sender
ACTUAL:
  1. An error is reported back to the sender
  2. Mail Server successfully delivers the message to the destination (another SMTP server, the local mailbox, etc)
  3. Since an error is reported to the sender, the sender retries sending the e-mail again.
  4. Mail Server receives an email with 4 jpg files...

ArGoSoft Products

unread,
Apr 7, 2021, 6:18:54 PMApr 7
to ArGoSoft Products
Hello Amber,

I did pretty big improvements with mail server recently, but have not touched plugins.  I even don't know someone was using them.

It is really hard to give you any answer now, but if you are willing, you can send me the code of your plugin.  I could install and check how it behaves.  It will be easier for me to debug.

If you would like to share your plugin code, or at least, a simplified version of it, you can email it to me at archie at argosoft.com.

Archie
Reply all
Reply to author
Forward
0 new messages