重新设置电子邮件系统的好方法是什么?

时间:2009-11-20 10:36:40

标签: asp.net email

我们向客户/公众发送大量电子邮件,但我们目前的设置过时且陈旧,说实话,我真的不知道它是如何工作的......

重新做这件事的好方法是什么?我们从没有收到电子邮件的人那里得到大量的投诉,而且负载也会进入他们的垃圾文件夹......

我们的软件是 asp.net ,我正在重写整个遗留系统,它实际上在代码中创建和发送电子邮件。我原以为正确的方法是将电子邮件发送到某种服务器发送而不是这样做,但发送电子邮件对我来说是新的。

有人能指出我正确的方向来了解这些东西吗?我们的团队花费大量时间与没有收到电子邮件的人打交道,如果我们有一个可靠的系统,我们可以轻松调试,这将使生活更轻松,省钱。

我所知道的关于电子邮件的全部内容可能是涉及Exchange服务器,但我们实际上并没有交换服务器(但是,我们应该得到一个吗?)...所有建议/链接到文章阅读欢迎; )

2 个答案:

答案 0 :(得分:1)

在某些时候,您的代码将调用(取决于您正在使用的框架的版本)(.Net 2.0+,使用System。 Net .Mail):

SmtpClient smtp = new SmtpClient(mailServer);
smtp.Send(emailMessage);

或(.Net 1.1使用System。 Web .Mail):

SmtpMail.SmtpServer = mailServer;
SmtpMail.Send(emailMessage);

在任何一种情况下,字符串mailServer都将是您发送电子邮件的服务器的名称/地址 - 这可能不是交换服务器,它更可能是一个SMTP服务器,坐在您的IIS服务器或主机。

在服务器端:

  1. 确保此服务器已设置为发送您发送的电子邮件数量 - 我在这里无法提供太多帮助 - 请尝试ServerFault.com我想;)
  2. 看看你是否可以打开日志记录,或者至少监控BadMail队列 - 这将为你提供一些指示,告诉你问题是在你的最后还是在那里。
  3. 有很多事情会导致用户邮件服务器或客户端将您的电子邮件视为垃圾邮件,而不是接受它们,但最常见的是:

    1. 电子邮件来自与“发件人”地址不同的域名 - 理想情况下,您应确保从与您的服务器具有相同域名的地址发送电子邮件。如果不是这种情况,那么您需要向服务器添加Sender Policy Framework标头,并使用地址的域告诉其他邮件服务器,您的SMTP服务器可以代表您发送电子邮件。
    2. 与非链接文字相比,该电子邮件包含大量链接。
    3. 电子邮件“看起来”像垃圾邮件 - 即它匹配各种模型垃圾邮件。
    4. 用户未正确输入地址(您会感到惊讶)。
    5. 继续之后,请确保发件人地址实际存在于您的最后 - 这样您就可以监控来自远程服务器的退回,并查看他们拒绝您的电子邮件的原因。

      根据电子邮件的类型和您需要花费的金额,您可能希望使用第三方邮件解决方案 - 再次遗憾的是,这超出了我的专业领域。

答案 1 :(得分:1)

在您开始之前,值得花一些时间确保您理解SMTP

System.Net.Mail.SmtpClient的MSDN文档提供了一些如何在.Net中发送电子邮件的基本工作示例。

MailChimpCampaignMonitor的提示页面对于撰写和发送批量电子邮件有一些不错的一般建议,无论是否用于营销目的。