【问题标题】:Setting Email Headers (Return-Path, Sender, Message ID) in .Net Application在 .Net 应用程序中设置电子邮件标头(返回路径、发件人、邮件 ID)
【发布时间】:2012-06-10 16:04:50
【问题描述】:

我们正在 .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");
    

    但是,这不是我们想要的,因为我们不想添加额外的电子邮件标题项,而是提供主要的 message-id 标题元素。

    非常感谢任何帮助。

    提前致谢!

    【问题讨论】:

    • 您对此有解决方案吗?我正在寻找一种将“返回路径”设置为不同地址的方法。

    标签: .net email header smtp return-path


    【解决方案1】:

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

    DnSmtp

    正如该库的作者所承认的那样,它到处都是粗糙的边缘,我必须在使用它之前自己对其进行润色。但我最后还是成功了。

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

    【讨论】:

    • 感谢 TA 先生的超级快速回复。非常感激你的帮助。而且,至少现在我们知道我们不只是在默认的 .NET 库中遗漏了一些明显的东西。
    • 那个 DnSmtp 库似乎有点过时了....还有其他你会推荐的吗(因为你似乎非常了解这个问题的情况)?我认为我们不想编写自己的库。再次感谢!
    • 不是真的,抱歉。当我在 2-3 年前不得不使用它时,它已经过时了 :) 对这样的库的需求很少,因此在涉及 SMTP 客户端(.NET)时,“alt.net”领域缺乏创新一个适用于大多数人)。在放弃之前检查 Codeplex 和 Google Code 以及其他类似的网站。如果您找不到其他任何内容,请尝试 DnSmtp... 它可能对您有用,无需更改(我们必须发送一堆不受支持的非英文字符,您的要求可能会有所不同)。
    猜你喜欢
    • 2011-04-19
    • 2012-02-14
    • 2016-02-07
    • 2011-04-07
    • 2011-02-18
    • 2016-12-18
    • 2022-12-17
    • 1970-01-01
    • 2017-02-02
    相关资源
    最近更新 更多