您可以为.Net程序分享哪些问题/提示/提示,该程序每天可能会向订阅者发送10k +电子邮件?

Tad*_*ghe 7 .net c# email

我知道如何编写基本的c#代码来发送电子邮件,但我想知道涉及的任何更大的问题.有什么我应该避免的吗?最佳做法?等等

谢谢!!

gab*_*bor 10

  • 请确保您使用托管服务,因为您发送的电子邮件数量不会禁用您的帐户.
  • 添加某种审核或日志记录,以便您知道已发送的邮件
  • 使用BCC将相同的邮件发送给多个收件人
  • 对邮件进行排队以避免发送电子邮件
  • 考虑分批发送邮件.例如,您通知用户新的论坛帖子,然后每次有人发帖时都不向每个人发送邮件,提供每日摘要的可能性.
  • 正如其他人所指出的那样,使用线程来发送大量邮件


Jon*_*ats 5

你应该限制你的电子邮件,以便每单位时间不发送更多的x.您不希望客户端的电子邮件服务器将您的电子邮件误认为是拒绝服务攻击.

我假设你已经处理了更大的问题,比如客户如何选择加入或取消订阅?

也可以为很多无法送达的消息做好准备,并准备好处理它们.人们一直在改变他们的电子邮件地址,离开公司等.不要通过继续日复一日地向相同的无法送达的地址发送电子邮件来成为客户(或大型ISP)的敌人.

为了回应您的评论,如果不是每秒1000封电子邮件,快速连接上的强大电子邮件服务器可以轻松发送100秒.

考虑一下你希望收件人实际收到电子邮件的时间.早上,下午等.考虑他的(不是你的)时区.推广"理想的晚餐葡萄酒"的电子邮件最好在下午4点发送,而不是凌晨4点.

使用"共享"电子邮件服务器时要格外小心.您是否与垃圾邮件发送者分享,他们会将IP地址列入黑名单?你怎么能确定明天不会改变?

您熟悉可信电子邮件开放标准吗?你越能从垃圾邮件发送者中分离出来,你的电子邮件营收就越好.


Nic*_*rdi 5

您可能希望批量生成这些东西,因此所有内容都不会在连续循环中从一个进程发送.如果您将批次分组25封电子邮件并生成50个线程来发送这25个队列,则可以更快地完成此操作.鉴于您的10,000封电子邮件,只需要8个循环即可完成整批电子邮件.

您显然可以更改这些数字,但您需要将其拆分为多个发送一组电子邮件的线程.您可以自行查找此过程的最佳数量.