gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 08:36:43 24 4
gpt4 key购买 nike

这是我在 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>

这就是我发送电子邮件的方式:

message.SubjectEncoding = System.Text.Encoding.UTF8;
message.BodyEncoding = System.Text.Encoding.UTF8;
smtpClient.Send(message);

这是有效的!但唯一的问题是,我的电子邮件将进入垃圾邮件文件夹,这是因为它们的标题中缺少 Message-Id。我在 Thunderbird 中使用相同的帐户,当我使用 Thunderbird 发送电子邮件时,Message-Id 会添加到我的电子邮件中,但从我的应用程序发送的电子邮件不会发生这种情况。

我可以手动添加 header ,例如:

message.Headers.Add("Message-Id","<3BD50098E401463AA228377848493927-1>");

但是这个 ID 不是一个有效的邮件 ID,我仍然会得到负面的垃圾邮件分数。知道为什么会这样吗?

这是我在 Thunderbird 中的内容:
主机:mail.korax.net/
身份验证:普通密码/
端口:587/
安全:STARTTLS

最佳答案

另请参阅此处的这篇文章:

http://jarrett.co/post/1638578964/spamassassin-vs-system-net-mail

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

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

关于c# - 为什么 .NET SmtpClient 发送的电子邮件缺少 Message-Id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com