【问题标题】:Emails are missing Message-Id in the header电子邮件在标题中缺少 Message-Id
【发布时间】:2011-07-29 23:30:40
【问题描述】:

我正在编写一个向我们的一些客户发送提醒电子邮件的 Windows 服务。最终我让它工作,然后我注意到电子邮件进入了垃圾邮件文件夹。我使用了 spamscorechecker.com 评分工具,发现我的电子邮件被视为垃圾邮件,因为它们的标题中缺少 Message-Id!如果我没记错的话,message-id 应该附加到 smtp 服务器上的电子邮件中。我不知道为什么服务器不对从程序发送的电子邮件执行此操作,但显然它确实对从我们的邮件客户端或网络邮件发送的邮件执行此操作!我在想也许我需要在我的代码中做一些事情来要求它,或者我在 App.config 中的 smtp 设置有问题 这是我在 App.config 中的 SMTP 设置:

<system.net>
    <mailSettings>
      <smtp from="Reminder &lt;reminder@myserver.com&gt;">
        <network host="mail.myserver.net" port="587" password="my password" userName="reminder@myserver.com"/>
      </smtp>
    </mailSettings>
  </system.net>

它与身份验证有什么关系吗?

【问题讨论】:

  • 消息 ID 由发送客户端 AFAIK 附加...
  • 不,通常由 SMTP 服务器完成。

标签: c# smtp


【解决方案1】:

我不知道分配 message-id 是否可以保证您的邮件不会被视为垃圾邮件,但也许它可能会有所帮助,但您可以使用 Headers-property 进行设置:

  mailMessage.Header.Add("message-id", "123556677000");  

更有效的方法是将邮件证书与您的电子邮件一起发送。 邮寄证书每年可能花费您 20-30 美元。

【讨论】:

    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2013-01-07
    • 1970-01-01
    • 2012-09-18
    • 2022-11-04
    相关资源
    最近更新 更多