我发送个性化的电子邮件通知我的用户Meteor.methods():流星电子邮件:连接未关闭
Orders._collection.rawCollection()
.distinct('user', { day: dayId })
.then((result) => {
let mailList = []
User.find({ _id : { $in : result } }).forEach((user) => {
mailList.push({ to: user.emails[0].address, room: user.profile.room });
});
console.log('setting mail queue...')
mailList.forEach((user, index) => {
let delay = 0;
let time = delay + (index*200);
console.log('queue set for user '+user.to+" for "+ time/1000 +' seconds')
Meteor.setTimeout(() => {
console.log('sending mail to: ' + user.to);
Email.send({
to: 'user.to',
from: "[email protected]",
subject: "test ",
html: template,
});
}, time)
})
});
这个例子发送的所有邮件,但如果有超过10条信息,然后EXIM返回错误在一个SMTP连接中有超过10封电子邮件,并且邮件在30分钟后移动到队列以发送。即使在每封邮件之后2.5分钟的延迟也会发生。
邮件发送后有什么办法可以关闭与服务器的smtp连接吗? 邮件网址是:smtp://localhost:25
。
你试过mailgun?流星的电子邮件包适合一次性使用和有限的使用,但Mailgun可能会更适合您的使用情况。 –
无法真正使用外部服务通过内部网发送数据:( – jmwierzbicki
您是否在运行此Meteor代码的同一台机器上安装了EXIM? – Styx