Уведомление об успешном обращении к метеору
Я использую Bert и Meteor Email. В моих MEteor MEthods я возвращаю успех отправки электронной почты. Проблема в том, что после отправки электронного письма, оно не возвращает сообщение об успехе.
вот мой пример кода,
Meteor.call('sendEmail',
data.eadd,
'e@gmail.com',
'Invitation',
'test');
return "successful.";
Вот моя функция sendEmail,
sendEmail(to, from, subject, text) {
check([to, from, subject, text], [String]);
this.unblock();
Email.send({
to: to,
from: from,
subject: subject,
text: text
});
}
1 ответ
Ваш Meteor.call()
необходимо включить обратный вызов и ваш sendEmail
функция должна вернуть значение. Переставьте ваш код следующим образом:
Meteor.call('sendEmail',data.eadd,'e@gmail.com','Invitation','test',(err,result)=>{
if (err) Bert.alert({ title: 'Error sending email: '+err, type: 'danger' });
else Bert.alert({ title: 'Email sent!', type: 'success' })
});
sendEmail(to, from, subject, text) {
check([to, from, subject, text], [String]);
this.unblock();
Email.send({
to: to,
from: from,
subject: subject,
text: text
});
return "successful.";
}
Примечание: из безопасности я не рекомендую такой метод, когда вся электронная почта может быть указана на клиенте, так как вы в основном создали открытое реле электронной почты с возможностью сценариев, которое может даже запускаться анонимным пользователем.