0

我正在尝试使用 c# MailMessage 将电子邮件发送到 hotmail 帐户,但电子邮件总是会变成垃圾邮件。

如何在 c# 中将电子邮件直接发送到 hotmail 收件箱?

我没有自己的 smtp 服务器,因此我尝试使用我的大学 smtp 和其他 smtp,如谷歌、雅虎……但所有电子邮件都被发送到垃圾邮件。

有什么解决办法吗?

4

5 回答 5

2

这不是一个真正的 C# 问题。

邮件根据其内容和标头被发送到垃圾邮件,因此您应该检查一些事项:

  • 你需要有一个主题
  • 你不应该有垃圾词(性、伟哥、爱情、手表)
  • 您需要有一个匹配的返回地址和发件人地址标题
  • 您需要与您的编码保持一致,如果您选择 UTF8 发送 UTF8 文本
  • 你不应该插入图片
  • 您在邮件中的链接(如果有)应将其文本设置为他们要去的地址

使用这些策略应该可以帮助您的电子邮件不被归类为垃圾邮件。

您可以随时检查其中一封进入垃圾邮件的邮件的标题。经常描述应用了哪些规则以及邮件失败的位置。

于 2011-03-31T16:29:59.817 回答
1

在hotmail中,打开垃圾文件夹,点击邮件。Hotmail 将在邮件正文中显示选项 - 单击“等待,它是安全的!” Hotmail 会将邮件移至您的收件箱,并将 FROM 电子邮件地址标记为安全。

您的代码(可能)没有任何问题 - 它是 hotmail 将发件人和/或主题识别为垃圾邮件。

于 2011-03-31T16:22:45.057 回答
1

尽管它可能超出您的控制范围,但垃圾邮件过滤器通常在加权系统上工作,因此您可以采取一些措施来使您的电子邮件看起来不像垃圾邮件。

首先,检查:

  • 您的主题不包含所有大写字母或敏感词(例如“免费!”)
  • 你的身体有内容
  • MailMessage 的“发件人”地址存在。

如果这些都很好,请查看此列表live.com 上的这篇文章以及 Hotmail的政策、实践和指南

于 2011-03-31T16:27:27.123 回答
0

你不能从 C# 中做到这一点。收件人可以将邮件路由到垃圾邮件或收件箱或决定放置邮件的任何地方。如果允许发件人决定邮件在客户端的何处发送,想象一下问题垃圾邮件会有多大。

您可以采用的一种解决方案是让您的目标邮件帐户将发件人列入“白名单”,但这可能不是所有情况下的选择。

于 2011-03-31T16:22:24.240 回答
0

您的邮件内容是什么,是否是可能被垃圾邮件过滤器视为垃圾邮件的文本?您是否尝试过发送到其他帐户,例如 Yahoo 或 Gmail?

于 2011-03-31T16:26:45.107 回答