我正在使用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
});
}
答案 0 :(得分: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.";
}
注意:来自安全pov我不推荐这样一种方法,可以在客户端上指定整个电子邮件,因为你基本上创建了一个可编写脚本的开放式电子邮件中继 - 一个甚至可以由匿名用户运行。