Node.js NodeEmailer无法从nodeJS发送邮件
Im使用NodeEmailer发送电子邮件,特别是向outlook发送电子邮件 更新: 以下代码为im获取错误:消息失败错误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
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
应该是相同的
我认为这是因为某些电子邮件服务器希望确保声明的电子邮件发件人与真实的电子邮件发件人相同。我想我通过以下链接解决了这个问题:我的发件人地址和用户名不匹配。。。