【问题标题】:How to send mass emails from c# and check if they were delivered如何从 c# 发送大量电子邮件并检查它们是否已送达
【发布时间】:2011-11-24 04:41:42
【问题描述】:

我需要实现用于向公司合作伙伴发送营销电子邮件的 Web 应用程序。有一些要求我不知道如何解决它。

  • 第一个是如何检查邮件是否送达?我正在通过 smtp 服务器发送电子邮件。
  • 第二个是如何检查邮件是否被收件人阅读。
  • 第三个是如何确保电子邮件不会进入垃圾邮件。

我正在使用 .NET 平台。

我会感谢任何对这些问题的帮助。

谢谢

【问题讨论】:

  • 嗨,根据收件人,恕我直言,您两者都可以。过去有一些简单的技巧来检查是否已读取(例如,您可以在其中检查图像是否正在下载的图像),但现在这些事情已经不受欢迎了(即使在美国也存在隐私之类的东西;))...全部在如果您的收件人不喜欢合作,您就别无选择 - 老实说,我不明白为什么这应该如此重要,除非您想去电子邮件地址钓鱼*
  • 我的电子邮件客户端设置为忽略“已读回执”和“送达回执”标志,并且在我告诉它之前不会下载任何图像。所以,如果你向我发送任何东西,你就不走运了!垃圾邮件处理非常特定于电子邮件客户端(或沿途的服务器),许多人会默默地处理电子邮件。垃圾邮件处理程序想要宣布的最后一件事是它是一个实时电子邮件地址,通过对垃圾邮件发送者说:“抱歉,您的电子邮件没有发送到 fred@somewhere,因为我认为它是垃圾邮件”,因为聪明的垃圾邮件发送者可以再试一次知道它几乎通过了。

标签: c# smtp


【解决方案1】:
  • 第一个是如何检查邮件是否送达?我正在通过 smtp 服务器发送电子邮件。
  • 第二个是如何检查邮件是否被收件人阅读。
  • 第三个是如何确保电子邮件不会进入垃圾邮件。

TL;DR:您不能使用标准电子邮件协议(即SMTP)执行任何这些操作。 SMTP 不支持确认、接收或阅读。没有可靠的机制来报告发送失败:如果确定为垃圾邮件,通常会忽略。

封闭系统(例如 MS Exchange)可以提供这种功能,一个组织可以为系统的所有部分设置端到端的策略。

我建议考虑一下为什么The Evil Bit (RFC 3514) 不是有效的安全措施。

【讨论】:

    【解决方案2】:

    我能想到的唯一选择是在您的电子邮件中使用通常称为跟踪像素网络错误的东西。维基百科在http://en.wikipedia.org/wiki/Web_bug对此进行了全面的解释。

    但是,它很容易被绕过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 2015-09-22
      • 1970-01-01
      • 2017-07-09
      • 2012-08-29
      • 1970-01-01
      • 2017-12-06
      相关资源
      最近更新 更多