如何使用 nodemailer 和 smtp 传输发送邮件?
How to sendMail using nodemail and smtp transport?
我有新用户注册,一旦我从客户端获得用户详细信息,我正在向组发送电子邮件以授予用户权限,下面的代码抛出异常,知道实施错误吗?
我已经粘贴了问题中的错误。
Mailer.js
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var MAIL_SERVER_URL = '127.0.0.0';
//establish the transporter
var transporter = nodemailer.createTransport(smtpTransport({
host: MAIL_SERVER_URL,
port: 80,
connectionTimeout: 60000,
}));
var Mailer = {
options: function (mailOptions) {
mailOptions.to = 'group@gmail.com';
mailOptions.text = mailOptions.auid + ''+ 'requested access for modeler';
console.log('mailOptions',mailOptions);
transporter.sendMail(mailOptions, function(error, info) {
if (error) {
return console.log(error);
} else {
console.log('Message sent: ' + info.response);
}
});
}
}
module.exports = Mailer;
错误
{ [Error: connect EACCES 127.0.0.0:25]
code: 'ECONNECTION',
errno: 'EACCES',
syscall: 'connect',
address: '127.0.0.0',
port: 80,
command: 'CONN' }
您的错误输出告诉您 nodemailer
无法访问端口 25 上位于 127.0.0.0
的 SMTP 服务器。
假设传入的 mailOptions 具有 from
属性,您使用 SMTP 的 nodemailer 实现看起来不错。您可以在 the docs.
中通过 nodemailer 阅读更多关于 SMTP 的信息
let nodemailer = require('nodemailer');
let MAIL_SERVER_URL = '127.0.0.0';
let smtp = nodemailer.createTransport({
host: MAIL_SERVER_URL,
connectionTimeout: 60000
});
module.exports = {
options: (mailOptions) => {
let email = {
from: 'from@test.com',
to: 'group@gmail.com',
subject: 'yourEmailSubject'
text: `${mailOptions.auid} requested access for modeler`
};
smtp.sendMail(email, (err, info) => {
if (err)
console.log(err);
else
console.log(`Message sent: ${info.response}`);
});
}
};
我有新用户注册,一旦我从客户端获得用户详细信息,我正在向组发送电子邮件以授予用户权限,下面的代码抛出异常,知道实施错误吗?
我已经粘贴了问题中的错误。
Mailer.js
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var MAIL_SERVER_URL = '127.0.0.0';
//establish the transporter
var transporter = nodemailer.createTransport(smtpTransport({
host: MAIL_SERVER_URL,
port: 80,
connectionTimeout: 60000,
}));
var Mailer = {
options: function (mailOptions) {
mailOptions.to = 'group@gmail.com';
mailOptions.text = mailOptions.auid + ''+ 'requested access for modeler';
console.log('mailOptions',mailOptions);
transporter.sendMail(mailOptions, function(error, info) {
if (error) {
return console.log(error);
} else {
console.log('Message sent: ' + info.response);
}
});
}
}
module.exports = Mailer;
错误
{ [Error: connect EACCES 127.0.0.0:25]
code: 'ECONNECTION',
errno: 'EACCES',
syscall: 'connect',
address: '127.0.0.0',
port: 80,
command: 'CONN' }
您的错误输出告诉您 nodemailer
无法访问端口 25 上位于 127.0.0.0
的 SMTP 服务器。
假设传入的 mailOptions 具有 from
属性,您使用 SMTP 的 nodemailer 实现看起来不错。您可以在 the docs.
let nodemailer = require('nodemailer');
let MAIL_SERVER_URL = '127.0.0.0';
let smtp = nodemailer.createTransport({
host: MAIL_SERVER_URL,
connectionTimeout: 60000
});
module.exports = {
options: (mailOptions) => {
let email = {
from: 'from@test.com',
to: 'group@gmail.com',
subject: 'yourEmailSubject'
text: `${mailOptions.auid} requested access for modeler`
};
smtp.sendMail(email, (err, info) => {
if (err)
console.log(err);
else
console.log(`Message sent: ${info.response}`);
});
}
};