验证电子邮件是否已成功发送nodemailer(sails.js)

问题描述 投票:3回答:1

我正在使用nodemailer模块在我的sails.js项目中发送电子邮件。现在,我想知道是否可以通过某种方式知道电子邮件是否已成功发送,或者由于某种附件而导致电子邮件失败或电子邮件地址错误。

我如何确保电子邮件地址有效或无效?还是电子邮件已成功传递到相关电子邮件地址?

我已经阅读了nodemailer文档,并且还对其进行了一些研发,但到目前为止,我仍然找不到任何有效果的东西。

请让我知道是否可以确认电子邮件。

谢谢。

javascript sails.js email-client nodemailer
1个回答
4
投票

很简单。 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这样的自定义包装器。

© www.soinside.com 2019 - 2024. All rights reserved.