Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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无法从nodeJS发送邮件_Node.js_Email_Nodemailer - Fatal编程技术网

Node.js NodeEmailer无法从nodeJS发送邮件

Node.js NodeEmailer无法从nodeJS发送邮件,node.js,email,nodemailer,Node.js,Email,Nodemailer,Im使用NodeEmailer发送电子邮件,特别是向outlook发送电子邮件 更新: 以下代码为im获取错误:消息失败错误 var nodemailer = require('nodemailer'); // create reusable transporter object using the default SMTP transport let transporter = nodemailer.createTransport({ host: 'smtp.office365.c

Im使用NodeEmailer发送电子邮件,特别是向outlook发送电子邮件

更新:

以下代码为im获取错误:消息失败错误

var nodemailer = require('nodemailer');

 // create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
    host: 'smtp.office365.com',
    port: 587,
    secureConnection: false, // secure:true for port 465, secure:false for port 587
    auth: {
      user: 'user@domain.com',
      pass: 'password'
    },
    tls: { ciphers: 'SSLv3' }
});

// setup email data with unicode symbols
          let mailOptions = {
            from: '"Fred Foo I had the same problem, and solved it via bring the 
from
field into correspondence with the
auth.user
field.

i.e. something like the following will work for me.

var nodemailer = require('nodemailer');

let transporter = nodemailer.createTransport({
    host: 'smtp.office365.com',
    port: 587,
    auth: {
        user: 'test-user@gmail.com',
        pass: 'password'
    },
    tls: { ciphers: 'SSLv3' }
});

let mailOptions = {
    from: 'user-alias <test-user@gmail.com>', // sender address
    to: 'myemail@companydomain.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world ?', // plain text body
    html: '<b>Hello world ?</b>' // html body
};

transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log(error);
    }
    console.log('Message %s sent: %s', info.messageId, info.response);
);
var nodemailer=require('nodemailer');
//使用默认SMTP传输创建可重用的传输对象
让transporter=nodeEmailer.createTransport({
主机:“smtp.office365.com”,
港口:587,
secureConnection:false,//对于端口465,secure:true;对于端口587,secure:false
认证:{
用户:'user@domain.com',
通行证:“密码”
},
tls:{ciphers:'SSLv3'}
});
//使用unicode符号设置电子邮件数据
让邮件选项={

from:“”Fred Foo我也遇到了同样的问题,通过将
from
字段与
auth.user
字段对应起来解决了这个问题

i、 像下面这样的东西对我有用

var nodemailer=require('nodemailer');
让transporter=nodeEmailer.createTransport({
主机:“smtp.office365.com”,
港口:587,
认证:{
用户:'测试-user@gmail.com',
通行证:“密码”
},
tls:{ciphers:'SSLv3'}
});
让邮件选项={
发件人:'用户别名',//发件人地址
致:'myemail@companydomain.com“,//接收者列表
主题:“你好✔', // 主题行
text:“Hello world?”,//纯文本正文
html:“你好,世界?”//html正文
};
transporter.sendMail(邮件选项,(错误,信息)=>{
如果(错误){
返回console.log(错误);
}
console.log('发送的消息%s:%s',info.messageId,info.response);
);
请注意,
test中出现了两个-user@gmail.com
应该是相同的


我认为这是因为某些电子邮件服务器希望确保声明的电子邮件发件人与真实的电子邮件发件人相同。

我想我通过以下链接解决了这个问题:我的发件人地址和用户名不匹配。。。