我正在使用 Bert 和 Meteor 电子邮件。在我的 MEteor 方法中,我返回发送电子邮件的成功。问题是,发送电子邮件后,它没有返回成功消息。
这是我的示例代码,
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
});
}
最佳答案
您的 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.";
}
注意:从安全 Angular 来看,我不推荐这样一种方法,即可以在客户端上指定整个电子邮件,因为您基本上已经创建了一个可编写脚本的开放电子邮件中继 - 甚至可以由匿名用户运行。
关于javascript - Meteor 邮件成功提醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41239091/