.net - 构建群发邮件发件人

标签 .net email bulk

<分区>

我想构建一个允许我的客户通过电子邮件发送营销信息的应用程序。这将是一个仔细监控的工具,仅用于合法的批量邮寄。它将具有所有必要的“取消订阅”功能等。

解决方案将使用 VB.NET 构建。

我的问题与实际发送电子邮件的最佳方式有关。我们的数据中心有一个 SMTP 服务器可供我们使用。我在想我们可以编写某种多线程 Windows 服务来监控要发送的电子邮件数据库,然后调用 System.Net.Mail API 以通过该服务器发送邮件。

这是否会提供我在合理的时间范围内向数千名用户发送邮件所需的性能水平?

如果不是,我是否应该考虑在“较低级别”做事,在一个线程中执行 DNS 查找,在另一个线程中直接发送到端口 25 上的相关服务器,等等?

如有任何指点,我们将不胜感激!


不是真正的答案 - 而是对任何感兴趣的人的更新......我目前正在寻找来自 ActiveUp 的名为 ActiveMail 的产品.

这似乎是一个 MTA(执行自己的 MX 查找并直接发送邮件),并且它带有一个多线程排队应用程序。

最佳答案

我认为自己推出这样的东西并不难。 build 需要一天左右的时间。但是你应该更好地使用现有的东西。

不过,在进行群发电子邮件时,我发现了一些重要的事情:

不要使用您自己的 SMTP 发送这些信息。

查找您的收件人的 MX 条目并将 SMTPClient 连接到他们的 SMTP,这给您带来的好处是当找不到邮箱或其他错误时您会立即收到错误消息,而且您不会给自己的服务器带来压力。

SmtpClient 中还有一个小错误给我带来了麻烦,因为主机名不是完全限定的域名(根据 SMTP 规范的要求),而是机器名(这是 SmtpClient 中的一个内部字段)。一些 SMTP 服务器非常重视这一点并需要一个域名,所以我最终将该字段设置为 FQDN 的反射。 (希望这已经改变了)

关于.net - 构建群发邮件发件人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/306844/

相关文章:

php - 从多个文件夹中批量插入图像(文件夹中包含图像)将不起作用

c# - Entity Framework 给出异常 : "The underlying provider failed on Open."

.net - 如何取消长时间运行的数据库操作?

c# - 架构师能说对吗 "MVVM only splits the code behind to multiple (3) files "

google-app-engine - 使用 Google App Engine 解析收到的邮件?

php - 使用 PHPMailer 调用 $mail->anyparameter 时超时

python - 通过电子邮件发送大文本文件

c++ - 从 ORACLE 读取最快的 OLEDB

MySQL:获取约束名称并将其放入一条语句中

c# - 是否可以在不使用编译指令的情况下检测主应用程序线程是否作为 Windows 服务运行?