我正在使用nodemailer模块在我的sails.js项目中发送电子邮件。现在,我想知道是否可以通过某种方式知道电子邮件是否已成功发送,或者由于某种附件而导致电子邮件失败或电子邮件地址错误。
我如何确保电子邮件地址有效或无效?还是电子邮件已成功传递到相关电子邮件地址?
我已经阅读了nodemailer文档,并且还对其进行了一些研发,但到目前为止,我仍然找不到任何有效果的东西。
请让我知道是否可以确认电子邮件。
谢谢。
很简单。 sendMail
有一个回调作为参数。您只需检查此回调中是否存在错误。
transport.sendMail({}, (error, result) => {
if (error) return console.error(error);
return console.log(result);
});
或者您可以使用sails-service-mailer
包发送邮件-https://github.com/ghaiklor/sails-service-mailer。然后,您可以像这样编写代码
SmtpMailer
.send({})
.then(console.log.bind(console))
.catch(console.error.bind(console));
我想,如果您想检查游泳池或其他东西,那是不可能的。如果您将邮件发送到不存在的电子邮件地址,它将照常发送,只是收件人不会收到。无论如何,您可以检查邮件是否仅添加到池中。
UPD: transport
也具有Promise API(请参阅https://nodemailer.com/usage/),因此不再需要像我的sails-service-mailer
这样的自定义包装器。