내가 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 연결을 종료 할 수있는 방법이 있습니까? 메일 URL은 smtp://localhost:25
입니다.
당신이 mailgun를 시도? Meteor의 이메일 패키지는 일회용과 제한된 사용에는 좋지만 Mailgun은 사용 사례에 더 좋을 수 있습니다. –
인트라넷을 통해 데이터를 전송하는 데 외부 서비스를 실제로 사용할 수 없습니다. ( – jmwierzbicki
이 유적 코드를 실행하는 동일한 컴퓨터에 EXIM이 설치되어 있습니까? – Styx