我正在写一个Windows服务,它会向我们的一些客户发送提醒电子邮件。最终我让它工作,然后我注意到电子邮件将转到垃圾邮件文件夹。我使用了spamscorechecker.com评分工具,我发现我的电子邮件被认为是垃圾邮件,因为他们的标题中缺少Message-Id!如果我没有弄错的话,应该在smtp服务器上的电子邮件中附上message-id。我不知道为什么服务器没有为从程序发送的电子邮件执行此操作,但显然它确实为从我们的邮件客户端或webmail发送的邮件执行此操作!我想在我的代码中可能需要做一些事情要求它,或者我在App.config中的smtp设置有问题 这是我在App.config中的SMTP设置:
<system.net>
<mailSettings>
<smtp from="Reminder <reminder@myserver.com>">
<network host="mail.myserver.net" port="587" password="my password" userName="reminder@myserver.com"/>
</smtp>
</mailSettings>
</system.net>
它与身份验证有关吗?
答案 0 :(得分:0)
我不知道分配邮件ID是否可以保证您的邮件不会被视为垃圾邮件,但也许它可能会有所帮助,但您可以使用Headers属性设置它:< / p>
mailMessage.Header.Add("message-id", "123556677000");
更有效的方法是发送邮件证书和电子邮件。 邮件证书每年花费20到30美元。