Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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
Javascript 如何使用NodeEmailer在我的公司域中发送电子邮件?_Javascript_Node.js_Email_Smtp_Nodemailer - Fatal编程技术网

Javascript 如何使用NodeEmailer在我的公司域中发送电子邮件?

Javascript 如何使用NodeEmailer在我的公司域中发送电子邮件?,javascript,node.js,email,smtp,nodemailer,Javascript,Node.js,Email,Smtp,Nodemailer,这是我的代码:我尝试使用outlook帐户 const transporter = nodemailer.createTransport({ host: 'smtp.office365.com', auth: { user: 'account@mycompanydomain.com', pass: 'password' } }); transporter.verify(function(error, success) { if (error) { con

这是我的代码:我尝试使用outlook帐户

const transporter = nodemailer.createTransport({
  host: 'smtp.office365.com',
  auth: {
    user: 'account@mycompanydomain.com',
    pass: 'password'
  }
});

transporter.verify(function(error, success) {
  if (error) {
    console.log(error);
  } else {
    console.log('Server is ready to take our messages');
  }
});
我不确定这里有什么问题。以下是NodeEmailer日志:

[2020-03-17 09:55:34] DEBUG Creating transport: nodemailer (6.4.5; +https://nodemailer.com/; SMTP/6.4.5[client:6.4.5])
[2020-03-17 09:55:34] DEBUG [JAejdt6KMrw] Resolved smtp.office365.com as 40.100.54.194 [cache miss]
[2020-03-17 09:55:35] INFO  [JAejdt6KMrw] Connection established to 40.100.54.194:587
[2020-03-17 09:55:35] INFO  [JAejdt6KMrw] Connection upgraded with STARTTLS
[2020-03-17 09:55:36] DEBUG [JAejdt6KMrw] SMTP handshake finished
[2020-03-17 09:55:41] INFO  [JAejdt6KMrw] User "account@mycompanydomain.com" failed to authenticate
[2020-03-17 09:55:41] DEBUG [JAejdt6KMrw] Closing connection to the server using "end"
Error: Invalid login: 535 5.7.3 Authentication unsuccessful [HK2PR04CA0060.apcprd04.prod.outlook.com]
    at SMTPConnection._formatError (C:\Users\Nonoy\Documents\sample_apps\nodemailer_outlook_integration\node_modules\nodemailer\lib\smtp-connection\index.js:784:19)
    at SMTPConnection._actionAUTHComplete (C:\Users\Nonoy\Documents\sample_apps\nodemailer_outlook_integration\node_modules\nodemailer\lib\smtp-connection\index.js:1523:34)
    at SMTPConnection.<anonymous> (C:\Users\Nonoy\Documents\sample_apps\nodemailer_outlook_integration\node_modules\nodemailer\lib\smtp-connection\index.js:1481:18)
    at SMTPConnection._processResponse (C:\Users\Nonoy\Documents\sample_apps\nodemailer_outlook_integration\node_modules\nodemailer\lib\smtp-connection\index.js:942:20)
    at SMTPConnection._onData (C:\Users\Nonoy\Documents\sample_apps\nodemailer_outlook_integration\node_modules\nodemailer\lib\smtp-connection\index.js:749:14)
    at TLSSocket.SMTPConnection._onSocketData (C:\Users\Nonoy\Documents\sample_apps\nodemailer_outlook_integration\node_modules\nodemailer\lib\smtp-connection\index.js:195:44)
    at TLSSocket.emit (events.js:223:5)
    at addChunk (_stream_readable.js:309:12)
    at readableAddChunk (_stream_readable.js:290:11)
    at TLSSocket.Readable.push (_stream_readable.js:224:10) {
  code: 'EAUTH',
  response: '535 5.7.3 Authentication unsuccessful [HK2PR04CA0060.apcprd04.prod.outlook.com]',
  responseCode: 535,
  command: 'AUTH LOGIN'
}
[2020-03-17 09:55:41] INFO  [JAejdt6KMrw] Connection closed
备注:我的公司域位于Microsoft上,请参阅

也就是说,在transporter中,您缺少端口值

你可以把它放在主人的后面

端口–是要连接到的端口,如果是安全的,则默认为587 false或465(如果为true)

请参阅

也就是说,在transporter中,您缺少端口值

你可以把它放在主人的后面

端口–是要连接到的端口,如果是安全的,则默认为587 false或465(如果为true)


谢谢你的回答,伙计们都试过了。但我找到了解决办法

在我的office365帐户中,我进入设置、安全和隐私、附加安全验证,单击创建和管理应用程序密码。然后,它将允许您生成一个应用程序密码,然后将其用作您的NodeEmailer身份验证配置密码。如果您有类似于我的认证,这也将绕过双因素认证

请注意,您必须立即复制生成的密码。它只允许您复制一次密码。关闭窗口后,您将无法再次查看它


希望这有帮助

谢谢你的回答,大家都试过了。但我找到了解决办法

在我的office365帐户中,我进入设置、安全和隐私、附加安全验证,单击创建和管理应用程序密码。然后,它将允许您生成一个应用程序密码,然后将其用作您的NodeEmailer身份验证配置密码。如果您有类似于我的认证,这也将绕过双因素认证

请注意,您必须立即复制生成的密码。它只允许您复制一次密码。关闭窗口后,您将无法再次查看它

希望这有帮助

如果您有outlook帐户问题,则可以引用此问题;如果它实际上是NodeEmailer问题,则可以引用此问题(如果您有outlook帐户问题),如果它实际上是NodeEmailer问题,则可以引用此问题
var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
    from: '"Simple ?" <borntest@foodcita.com>', // sender address
    to: 'serta@foodcita.com, goip@foodcita.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world ?', // plaintext body
    html: '<b>Hello world ?</b>' // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
    if(error){
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});