【问题标题】:How to handle bounce email messages when you send emails on behalf of customer当您代表客户发送电子邮件时如何处理退回的电子邮件
【发布时间】:2014-02-17 13:54:22
【问题描述】:

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

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

请帮忙!!..

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

【问题讨论】:

  • 回复被来自...的邮件覆盖

标签: c# email smtp email-bounces


【解决方案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");
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 2021-11-13
    • 2011-05-24
    • 2010-11-09
    • 2016-08-18
    • 2010-10-23
    • 2011-03-24
    • 2018-12-28
    相关资源
    最近更新 更多