向多个收件人发送电子邮件 - 最佳实践
我的应用程序服务器需要通过电子邮件通知用户一些事件。通常,应向 10-100 个用户发送通知,但在某些情况下可能会更多(我认为不会超过 1000 个)。
在这种情况下,最佳做法是什么?我应该向每个用户发送一封电子邮件,还是向所有用户发送一封电子邮件,或者将所有用户作为收件人或组用户,并为每个组发送一封电子邮件(例如,为 10 个用户发送一封电子邮件)?如果有任何区别,我可以补充一点,我正在使用 System.Net.Mail 发送电子邮件。
预先感谢您的建议
Lukasz Glaz
My application server needs to notify users about some events via email. Usually there will be between 10-100 users to whom the notifications should be sent, but there may be a few cases where there may be a bit more (I don't think it will ever be more than 1000).
What is the best practice in such cases? Should I send a single email per user or one email with all users as recipients or group users and send one email for each group (for example 1 email for 10 users)? If it makes any difference I may add that I am using System.Net.Mail to send emails.
Thanks in advance for your suggestions
Lukasz Glaz
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该为每个用户发送一封电子邮件。
替代方案要么涉及将电子邮件放入密件抄送(这将增加您的邮件被标记为垃圾邮件的机会),要么向用户 B 透露用户 A 的电子邮件地址,其中用户 A 和用户 B 位于同一“组” ”。
You should send one e-mail per user.
The alternatives either involve putting e-mails in BCC (which will increase your chances of having your mails flagged as spam), or revealing your user A's e-mail address to user B, where user A and user B are in the same "group".
您需要咨询您的 smtp 服务器管理员 - 以避免被阻止。
如果您拥有 smtp 服务器,那么这不是问题。
我认为最好的方法是批量发送每条消息 50 个收件人(这比逐个发送要快一点)。
You need to check with your smtp server manager - to avoid being blocked.
if you own the smtp server, than this is not a problem.
I think the best way is to send them in bulks of 50 recipients per message (it will be a little faster than one by one).
我不会明确地将所有收件人放入“收件人:”字段中。即使来自一个地方。显示其他人的地址并不是一个好习惯。当有人点击“回复全部”并突然向所有其他人发送垃圾邮件时,就会产生问题:)
如果您拥有 smtp 服务器和应用程序服务器 -> smtp 服务器连接并不慢,我只是单独发送每封邮件,每个收件人都在“收件人:”字段中。它看起来不像收到一封带有空(或一些伪造)“收件人:”字段且仅采用密件抄送的邮件那样垃圾邮件。
另一个优点是接收您邮件的人会知道使用的电子邮件地址。我有很多,在不同的地方使用不同的邮件,这有助于查看我在哪个网站上使用了哪一个(有时我需要使用这个地址进行密码重置/登录,我忘记了,如果所有邮件让我进入 BCC,我完蛋了)。 这是从用户的角度来看的。
I wouldn't definetly put all recipients into a To: field. Even from one place. It's just not a good practice to show other's addresses. And it generates a problem when someone hits "Reply All" and suddenly mails all others with his crap :)
If you own the smtp server, and your application server -> smtp server connection isn't slow, I would just send every mail individually, with each single recipient in To: field. It just looks much less spam'ish then getting a mail with empty (or some bogus) To: field and being in BCC only.
Other advantage is the person recieving your mail will know what email address is used. I got plenty of them, use different ones in different places, and it helps to be able to see which one I used on which site (sometimes I need to use this address for password reset / login, and I forgot, and if all mails had me in BCC, I'm screwed). This is from your user's perspective.