Javascript NodeEmailer-MS Exchaneg服务器-错误无法验证第一个证书
我正在尝试使用out office MS Exchange邮件服务器从NodeJS发送电子邮件。用下面的代码。并得到错误 我们的管理员说不需要证书 错误:-Javascript NodeEmailer-MS Exchaneg服务器-错误无法验证第一个证书,javascript,node.js,nodemailer,Javascript,Node.js,Nodemailer,我正在尝试使用out office MS Exchange邮件服务器从NodeJS发送电子邮件。用下面的代码。并得到错误 我们的管理员说不需要证书 错误:- $ node test2.js Error : { Error: unable to verify the first certificate at TLSSocket.onConnectSecure (_tls_wrap.js:1048:34) at TLSSocket.emit (events.js:182:13)
$ node test2.js
Error : { Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1048:34)
at TLSSocket.emit (events.js:182:13)
at TLSSocket._finishInit (_tls_wrap.js:628:8) code: 'ESOCKET', command: 'CONN' }
"use strict";
const nodemailer = require("nodemailer");
async function main() {
try {
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: 'host',
port: 25,
secure : false, // true for 465, false for other ports
auth: {
user: 'user',
pass: 'password'
}
});
// setup email data
let mailOptions = {
from: 'me@email.com',
to: 'me@email.com',
subject: 'Hey you, awesome!',
html: '<b>This is bold text</b>',
text: 'This is text version!'
};
// send mail with defined transport object
let info = await transporter.sendMail(mailOptions)
console.log("Message sent: %s", JSON.stringify(info));
} catch (error) {
console.log('Error : ', error);
}
}
main(); // For testing
节点代码:-
$ node test2.js
Error : { Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1048:34)
at TLSSocket.emit (events.js:182:13)
at TLSSocket._finishInit (_tls_wrap.js:628:8) code: 'ESOCKET', command: 'CONN' }
"use strict";
const nodemailer = require("nodemailer");
async function main() {
try {
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: 'host',
port: 25,
secure : false, // true for 465, false for other ports
auth: {
user: 'user',
pass: 'password'
}
});
// setup email data
let mailOptions = {
from: 'me@email.com',
to: 'me@email.com',
subject: 'Hey you, awesome!',
html: '<b>This is bold text</b>',
text: 'This is text version!'
};
// send mail with defined transport object
let info = await transporter.sendMail(mailOptions)
console.log("Message sent: %s", JSON.stringify(info));
} catch (error) {
console.log('Error : ', error);
}
}
main(); // For testing
“严格使用”;
const nodemailer=require(“nodemailer”);
异步函数main(){
试一试{
//使用默认SMTP传输创建可重用的传输对象
让transporter=nodeEmailer.createTransport({
主机:'主机',
港口:25,
安全:false,//对于465为true,对于其他端口为false
认证:{
用户:“用户”,
通行证:“密码”
}
});
//设置电子邮件数据
让邮件选项={
发件人:'me@email.com',
致:'me@email.com',
主题:“嘿,你真棒!”,
html:“这是粗体文本”,
text:'这是文本版本!'
};
//使用定义的传输对象发送邮件
let info=wait transporter.sendMail(邮件选项)
log(“发送的消息:%s”,JSON.stringify(info));
}捕获(错误){
console.log('Error:',Error);
}
}
main();//用于测试
以下代码更改修复了该问题。将其添加到createTransport()中
代码:-
// create reusable transporter object using the default SMTP transport
let transporter = nodemailer.createTransport({
host: 'host',
port: 25,
secure : false, // true for 465, false for other ports
auth: {
user: 'user',
pass: 'password'
},
tls: {
// do not fail on invalid certs
rejectUnauthorized: false
},
});
您正在使用哪台主机输入公司IP地址或计算机名try requireTLS:true var smtpTransport=nodemailer.createTransport({host:'smtp.gmail.com',端口:'587',端口:false,requireTLS:true,身份验证:{user:'user',pass:'pass'}});将主机更改为您正在使用的任何主机X,仍然是同一个问题伙伴。我可以给您工作代码,但不需要解释,因为我看不出您的代码有什么问题。您为我节省了大量时间调试我们的整个AWS基础设施。谢谢您!您节省了时间兄弟!