[英]Sending mail in node.js using nodemailer
我正在嘗試使用 Nodemailer 在 node.js 中發送郵件,但它顯示了一些錯誤,例如{ [Error: self signed certificate in certificate chain] code: 'ECONNECTION', command: 'CONN' }
我的 node.js 代碼是
var express = require('express');
var app = express();
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport('smtps://something%40gmail.com:password@smtp.gmail.com');
var mailOptions = {
to: 'stevecameron2016@gmail.com',
subject: 'Hello ?',
text: 'Hello world ??',
html: '<b>Hello world ??</b>'
};
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
var server = app.listen(8900,function(){
console.log("We have started our server on port 8900");
});
試試https://github.com/nodemailer/nodemailer/issues/406
將tls: { rejectUnauthorized: false }
到您的傳輸器構造函數選項中
ps 如果是真實的,發布您的郵件服務器地址不是一個好主意
要允許通過“不太安全的應用程序”發送電子郵件,請轉到鏈接並選擇“打開”。
(有關不太安全的應用程序的更多信息)
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var mailAccountUser = '<YOUR_ACCOUNT_USER>'
var mailAccountPassword = '<YOUR_ACCOUNT_PASS>'
var fromEmailAddress = '<FROM_EMAIL>'
var toEmailAddress = 'TO_EMAIL'
var transport = nodemailer.createTransport(smtpTransport({
service: 'gmail',
auth: {
user: mailAccountUser,
pass: mailAccountPassword
}
}))
var mail = {
from: fromEmailAddress,
to: toEmailAddress,
subject: "hello world!",
text: "Hello!",
html: "<b>Hello!</b><p><a href=\"http://www.yahoo.com\">Click Here</a></p>"
}
transport.sendMail(mail, function(error, response){
if(error){
console.log(error);
}else{
console.log("Message sent: " + response.message);
}
transport.close();
});
我也遇到了這個麻煩,我所做的是下一行代碼:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
就在創建 smpttransport 之前
例如,在您的代碼中只需輸入:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; var transporter = nodemailer.createTransport('smtps://something%40gmail.com:password@smtp.gmail.com');
@user3985565 說的是正確的。 但是,如果您使用的是 gmail,您還需要更改您的 gmail 帳戶中的一些設置。 更具體地說,您需要在您的 Gmail 帳戶中“允許安全性較低的應用程序”。 為此,只需按照以下步驟操作:
它對我有用。
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.