+1 vote

Hi, I'm evaluating IMail .NET Component adn I don't understand how status.partialsuccess is possibly done...

I try to explain:

If for example, I send an email from my mail server and my account to any address that isn't local of my server, my server accepts the email because my account credentials are valid and local on my server (not relay) but my server don't verify the email adress or send the mail during my connection. The email address is verified after i close my conection and the server try to send the mail. Then if the sender is not valid (adress is not valid, mailbox is full etc etc) my server return to my account an email of the failure.

If this is normal operation of smtp protocol, what sense is status.partialsuccess?

Thanks

by

1 Answer

0 votes

In Mail.dll email client, partial success status means, that email was successfully sent to some, but not to all recipients.

This happens when client submits email message to the SMTP server, during initial email submission. You won't see this, if server initially accepts the email, all recipients, and only later realizes it can not deliver the message to some.

You can use ISendMessageResult.RejectedRecipients to get rejected recipients.

You also won't see this status returned, unless you set Smtp.Configuration.AllowPartialSending to true (default is false).

Different servers act differently and verify recipients differently during email submission.

In most cases you may still need to examine bounced messages.
There are some techniques like VERP to help with that:
https://www.limilabs.com/blog/verp-variable-envelope-return-path-net

Here you can find more on parsing and handling bounce email:
https://www.limilabs.com/blog/bounce-handling

by (301k points)
...