1

我需要有关处理/跟踪退回电子邮件的建议。我们有一个场景,我们需要代表我们的客户向收件人发送电子邮件。假设我们需要发送电子邮件至 user@recipient.com,发件人为 emailer@cusotmer.com,但是当这封电子邮件失败时,我们需要在 mybouncetracker@mydomain.com 上接收退回/失败通知

我尝试使用回复/返回路径,但都被替换为 emailer@cusotmer.com。我们无法处理退回邮件,因为我们不拥有 emailer@cusotmer.com 的收件箱。

请帮忙!!..

我们在 C#.net 上创建了 smtp 客户端

4

1 回答 1

1

请注意,我们不能依赖回复标头或在原始邮件标头中插入自定义 ID,因为邮件服务器返回的退回邮件因服务器而异。他们中的许多人只是用纯文本弹跳,说在不包括原始消息的情况下传递失败。

我的建议是使用带有编译选项的正则表达式(为了提高性能)来扫描消息。

阅读完邮件内容后,您可以使用以下代码将邮件归类为软退回邮件,表示邮件发送失败:

string pattern = "failed after \S+ sent[\s\n]the[\s\n]message";
Regex regexPattern = new Regex(pattern, RegexOptions.Compiled);

if (regexPattern.Match(myMessage.BodyHtml))
{
    Console.WriteLine("This is a soft bounce");
}

您可以添加更多模式来分类更多消息。

于 2014-06-08T16:05:44.550 回答