を閉じていない私は)(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はエラーを返します。 1つのSMTP接続に10以上の電子メールがあり、30分後にメールがキューに移動されて送信されることを示します。これは、すべてのメールの後に2.5分の遅延があっても発生します。
メールを送信した後にサーバーとのSMTP接続を閉じる方法はありますか?メールアドレス:smtp://localhost:25
あなたはmailgunを試みたことがありますか?流星の電子メールパッケージは、1つのオフと限られた使用に適していますが、あなたのユースケースでは、Mailgunが良いかもしれません。 –
イントラネットを介してデータを送信するための外部サービスを実際に使用することはできません:( – jmwierzbicki
この流星コードを実行するのと同じマシンにEXIMをインストールしていますか? – Styx