I’m busy coding a reusable e-mail service for my company. The e-mail service will be doing quite a few things via injection through the strategy pattern (such as handling e-mail send rate throttling, switching between Smtp and AmazonSES or Google AppEngine for e-mail clients when daily quotas are exceeded, send statistics tracking (mostly because it is neccessary in order to stay within quotas) to name a few).
Because e-mail sending will need to be throttled and other limitations exist (ex. max recipient quota on AmazonSES limiting recipients to 50 per send), the e-mails typically need to be broken up.
From your experience, would it be better to send bulk (multiple recipients per e-mail) or a single e-mail per recipient?
The implications of the above would be to send to a 1000 recipients, with a limit of 50 per send, you would send 20 e-mails using BCC in a newsletter scenario. When sending an e-mail per recipient, it would send 1000 e-mails. E-mail sending is asynchronous (due to inherit latency when sending, it’s typically only possible to send 5 e-mails per second unless you are using multiple client asynchronously).
Edit
Just for full disclosure, this service won’t be used by or sold to spammers and will as far as possible automatically comply with national and international laws.
>Closed<
Thanks for all the valuable feedback. The concerns regarding compliance towards laws, user experience (generic vs. personalized unsubscribe) and spam regulation via ISP blacklisting does make To the preferred and possibly the only choice when sending system generated e-mails to recipients.
2
Whether one ‘To’ recipient per email is appropriate really depends on your use-case and what other features you want to offer.
If you want recipients to be able to unsubscribe from these bulk emails, then I recommend you include a link specific to one recipient. While you could provide two-stage unsubscription (that is, the recipient clicks a generic unsubscribe link and then enters their email address to confirm), I can’t understate how incredibly annoying that is to a user.
On that subject, in some countries there is a legal requirement to include an unsubscribe link when bulk-emailing, so remember to always have that.
Further, if you want each recipient’s emails personalised in some way then you also want one To recipient per email, rather then 50 in the Bcc field. Personalisation is not always just their name in the salutation, it could say be a team meeting time and venue if it’s internal email to various different company teams, or a special offer tailored to certain people on your mailing list.
Finally, if you want to monitor behaviour (that is, track opens, link clicks, forwards, facebook liking and so on) you also want one To recipient per email.
If all you want to do is send emails, you’re right, you could choose many Bcc recipients and probably get away with it. If you want anything more, I’d certainly recommend you send to one To recipient.
Edit
I forgot to mention also that you need to protect the sending reputation of the IP addresses your sending servers use. A lot of anti-spam software, along with mail servers in general maintain black lists of banned sending IPs. If you send ten emails to 50 people each, and only 1 person marks that as spam, some lists will interpret that as you having a 10% spam rate (1 in 10 emails has been marked as spam). That’s incredibly big and will likely very quickly have your IPs blacklisted immediately. Again, go for one ‘To’ recipient per email.
1
This largely depends on the type of email you are sending.
For example, a single recipient per email is a good idea for bulk mail such as customer mailings because it allows you to embed a personalized unsubscribe link for that specific email address.
If these are bulk mailings to employees, on the other hand, you may not need anything like that.
1