1

我们正在.Net 中创建一个应用程序,目前正处于最后阶段,需要通过 SMTP 注入电子邮件消息,同时在“电子邮件标头”中设置各种选项。

我们关注的三个价值观是:

  • 返回路径
  • 发件人
  • 消息 ID
  • 目前在我们的代码中,我们有这个:

    BodyMessage.Sender = new MailAddress(bounce_address);
    

    (“bounce_address”是我们希望退回的地址。)

    此代码似乎同时设置了Return-PathSender

    但是,我们希望这些值不同

    有没有我们可以使用的值,这样当我们发送消息时,我们可以将返回路径指定为一件事,而将发送者指定为另一件事?

    我们试过这个,但它不起作用:

    BodyMessage.Headers.Add("Sender", "1234567@example.com");
    

    该代码完全被忽略了。

    有任何想法吗?

    对于消息 ID,我们已经尝试过:

    BodyMessage.Headers.Add("Message-ID", "abcdefgh@sample.com");
    

    但是,这也被忽略了。

    但是,如果我们指定自定义标头值,例如“X-Message-ID”,则此代码有效:

    BodyMessage.Headers.Add("X-Message-ID", "abcdefgh@sample.com");
    

    但是,这不是我们想要的,因为我们不想添加额外的 email-header 项目,而是提供主要的 message-id 标头元素。

    任何帮助是极大的赞赏。

    提前致谢!

    4

    1 回答 1

    1

    当我遇到这样的问题时(在他们引入 ReplyTo 集合之前,它曾经只是一个项目),我最终使用了 3rd-party SMTP 库并完全停止使用 .NET 库。我发现基本上,没有办法覆盖默认行为 - 他们明确禁止您自己设置这些标头。(出于某种我无法理解的原因)

    域名服务器

    正如该库的作者所承认的那样,它的边缘到处都是粗糙的,在使用它之前我必须自己打磨它。但我最终成功了。

    PS。您可以使用任何 .NET 电子邮件库,不一定是 DnSmtp。或者您可以编写自己的 SMTP 客户端(有点乏味,但可能)。

    于 2012-06-06T15:50:30.337 回答