发送大小限制的批量电子邮件
问题:我有1000个收件人的列表,但我想分批发送200封邮件。我使用节点js模块emailjs发送邮件。
下面是我的代码片段。
// Code goes here
var sizeLimit = 200;
var totalData = 350;
var cycles = Math.ceil(totalData / sizeLimit);
var start;
var end;
var recepients = "[email protected],[email protected] list"
for (var i = 0; i < cycles; i++) {
start = end ? end + 1 : 0
end = (sizeLimit) * (i + 1) > totalData ? (totalData - start) + start :
(sizeLimit) * (i + 1)
var bcc = recepients.substr(start,end);
(function(i) {
setTimeout(function() {
console.log(i)
//Sending mail using emailjs
//bcc
}, i * 5000)
})(i)
}
什么是批量发送邮件的最佳方式,我不想使用Redis。
回答如下:从我可以收集的信息中,您尝试通过将200个收件人一次性放入BCC字段来发送电子邮件批次。这是非常糟糕的做法,表明你对你要做的事情的基本原理缺乏了解。
您应该做的是一次向一个收件人发送一封电子邮件。无论如何,这就是邮件列表软件所做的事情,无论如何都应该用于此目的,而不是试图自己动手。
您可以使用MailChimp等saaS产品,Mailtrain等开源解决方案或我个人喜爱的Sendy,它具有API访问权限,因此您可以自动化某些方面。