我發送個性化的電子郵件通知我的用戶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