Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 通过NodeEmailer发送电子邮件不工作_Node.js_Nodemailer - Fatal编程技术网

Node.js 通过NodeEmailer发送电子邮件不工作

Node.js 通过NodeEmailer发送电子邮件不工作,node.js,nodemailer,Node.js,Nodemailer,我有一段简单的代码,它没有按预期工作。我正在使用nodemailer var nodemailer = require('nodemailer'); var smtpTransport = nodemailer.createTransport('SMTP', { service: 'Gmail', auth: { user: 'personal gmail address', pass: 'password' } }); var mailOptions = {

我有一段简单的代码,它没有按预期工作。我正在使用nodemailer

var nodemailer = require('nodemailer');

var smtpTransport = nodemailer.createTransport('SMTP', {
  service: 'Gmail',
  auth: {
    user: 'personal gmail address',
    pass: 'password'
  }
});

var mailOptions = {
    from: 'personal gmail address',
    to: 'personal gmail address',
    subject: 'Hello world!',
    text: 'Plaintext message example.'
};

smtpTransport.sendMail(mailOptions, function(err) {
  console.log('Message sent!');
});

我正在接收控制台发送的消息。但收件箱中没有电子邮件。

对于gmail服务,我使用以下选项:

const smtpTransport = require('nodemailer-smtp-transport')
const nodemailer = require('nodemailer')

const transport = nodemailer.createTransport(smtpTransport({
  service: 'gmail',
  auth: {
    user: 'email',
    pass: 'pass'
  }
}))
但你需要允许在你的gmail帐户上进行不太安全的身份验证,否则电子邮件不会被发送。 我认为这些步骤是:

  • 转到:
  • 将不太安全的应用的访问设置设置为启用

对于gmail服务,我使用以下方法:

const smtpTransport = require('nodemailer-smtp-transport')
const nodemailer = require('nodemailer')

const transport = nodemailer.createTransport(smtpTransport({
  service: 'gmail',
  auth: {
    user: 'email',
    pass: 'pass'
  }
}))
但你需要允许在你的gmail帐户上进行不太安全的身份验证,否则电子邮件不会被发送。 我认为这些步骤是:

  • 转到:
  • 将不太安全的应用的访问设置设置为启用

您可以检查错误消息吗

...
smtpTransport.sendMail(mailOptions, function(err) {
  if(err)
  {
    console.log(err);
  }
  else
  {
    console.log('Message sent!');
  }
});
因为在您的示例代码中,即使nodeEmailer返回有效错误,它仍然会打印发送的消息


有时邮件可能会排队,或者邮件选项中出现任何类型的错误,则无法传递邮件。

您可以检查错误消息吗

...
smtpTransport.sendMail(mailOptions, function(err) {
  if(err)
  {
    console.log(err);
  }
  else
  {
    console.log('Message sent!');
  }
});
因为在您的示例代码中,即使nodeEmailer返回有效错误,它仍然会打印发送的消息

有时邮件可能会排队,或者邮件选项中出现任何类型的错误,则无法传递该邮件。

发现此问题:。 我需要加上这个,它对我很有效

let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
           user: 'myemail@gmail.com', 
           pass: 'password' 
          },
    tls: {
            rejectUnauthorized: false
         }
});
发现这个是这样的:。 我需要加上这个,它对我很有效

let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
           user: 'myemail@gmail.com', 
           pass: 'password' 
          },
    tls: {
            rejectUnauthorized: false
         }
});

检查你的垃圾邮件folder@admix,不,垃圾邮件文件夹中也没有任何内容。请检查您的垃圾邮件folder@admix,不,垃圾邮件文件夹中也没有任何内容。@jaumard…这不起作用。我已经更改了设置。请禁用您的防病毒软件并重试。我能做到it@jaumard...that不起作用。我已经更改了设置。请禁用您的防病毒软件并重试。我能做到