Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么.NET SmtpClient发送的电子邮件缺少邮件Id?_C#_.net_Asp.net - Fatal编程技术网

C# 为什么.NET SmtpClient发送的电子邮件缺少邮件Id?

C# 为什么.NET SmtpClient发送的电子邮件缺少邮件Id?,c#,.net,asp.net,C#,.net,Asp.net,这是我在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.co

这是我在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" enableSsl="true"/>
      </smtp>
    </mailSettings>
  </system.net>
这是工作!但唯一的问题是,我的电子邮件将被放入垃圾邮件文件夹,这是因为它们的标题中缺少邮件Id。我在Thunderbird中使用相同的帐户,当我使用Thunderbird发送电子邮件时,消息Id会添加到我的电子邮件中,但从我的应用程序发送的电子邮件不会出现这种情况

我可以手动添加标题,如下所示:

message.Headers.Add("Message-Id","<3BD50098E401463AA228377848493927-1>");
message.Headers.Add(“message Id”和“”);
但是这个Id不是一个有效的邮件Id,我仍然会得到负面的垃圾邮件分数。 知道为什么会这样吗

这就是我在《雷鸟》中看到的:
主机:mail.korax.net/
身份验证:普通密码/
端口:587/

安全性:STARTTLS

您的SMTP服务器必须配置为自动包含邮件ID。如果生成您自己的ID,则应遵循此操作。

请参阅本文:

我也遇到了同样的问题
System.Net.Mail
不会自动附加邮件Id。但你可以这样说:

mailMessage.Headers.Add("Message-Id",
                         String.Format("<{0}@{1}>",
                         Guid.NewGuid().ToString(),
                        "mail.example.com"));
mailMessage.Headers.Add(“邮件Id”,
String.Format(“”,
Guid.NewGuid().ToString(),
"mail.example.com),;

事实上,我让我的主机修复了它,他们做到了:)但是如果他们不为我这么做,你的解决方案是我能做的最好的:)谢谢。
mailMessage.Headers.Add("Message-Id",
                         String.Format("<{0}@{1}>",
                         Guid.NewGuid().ToString(),
                        "mail.example.com"));