下面是我为nodemailer做的函数-
function mailer(firstName,emailId,password){
var transporter = nodemailer.createTransport({
service: 'gmail',
host: process.env.HOST, // hostname
secureConnection: false, // TLS requires secureConnection to be false
port: process.env.OUTLOOK_PORT, // port for secure SMTP
tls: {
ciphers:'SSLv3'
},
auth: {
user: process.env.EMAILID,
pass: process.env.PASSWORD
}
});
var mailOptions = {
from: process.env.EMAILID,
to: emailId,
subject: 'DM automation tool login details',
text: 'Hi ' + firstName + ','
+ '\n\nThank you for registering.\nYou can now login to the account using the password ' + password +
'\nPlease click on the given link to login to your account http://localhost:8080/login' +
'\n\nNote : Please make sure to reset your password within an hour.'
};
transporter.sendMail(mailOptions, function(error, info){
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
}
在这里,我已经在.env文件中给出了电子邮件id和密码,我正在下面使用这个功能。客户将从我的id获得一封邮件到他的电子邮件id中。
const createCustomer = async(req,res,next) => {
try{
var id = Math.floor(Math.random()*9000000) + 10000000;
var db = req.con;
const data = {
"customerId" : id,
"customerGroupId" : req.body.customerGroupId,
"username" : req.body.username,
"avatar" : req.file.filename,
"email" : req.body.email,
"password" : req.body.password,
"mobileNumber" : req.body.mobileNumber,
};
console.log(data)
const salt = await bcrypt.genSalt(20);
data.password = await bcrypt.hash(data.password, salt);
var pass = data.password;
console.log(pass)
if (!req.file.filename)
return res.status(400).send('No files were uploaded.');
let filename = fs.readdirSync('./src/template-store/temporaryImage/')
console.log(filename)
var file = req.files
let result = db.query(`INSERT INTO customers set ?`,[data],function(err,rows){
if(err){
res.json({
success:0,
message:"An error occurred",
err
})
}
else{
res.json({
success:1,
message:"Inserted",
data: data
})
mailer(req.body.username,req.body.email,req.body.password)
}
})
}
catch(error){
res.json({
message:"An error occured",
error:error
})
}
}
密码是正确的。但我遇到了这个错误-
错误:无效的登录名:534-5.7.9需要应用程序特定的密码。了解更多信息,请访问534 5.7.9 https://support.google.com/mail/?p=invalidsecondfactor f17sm10086327pfk.184-gsmtp at smtpconnection._formaterror(E:\coding backup\brands\node_module\nodemailer\lib\smtp-connection\index.js:774:19)at smtpconnection._actionauthcomplete(E:\coding
如果没有完整的oauth2
身份验证,就很难使用Gmail
进行身份验证。
我会建议您使用SendGrid这样的外部服务来发送生产事务电子邮件。
它甚至有一个不错的免费计划,如果你的应用程序不是巨大的,这不会是一个问题!:)
ps:尽量避免应用程序引导程序之外的“同步”方法,因为它会阻塞整个服务器(这里使用的是readdirsync
)。
问题内容: 我正在使用从这里获取的这段代码: 我将我的gmail邮件帐户放在发件人和收款人中,但出现此错误: 问题答案: 您没有在计算机上运行SMTP服务器。 请参阅:无法建立连接,因为目标机器主动拒绝了它
问题内容: 我正在尝试从servlet发送电子邮件。也不例外,但是我的帐户中没有收到电子邮件。我正在使用以下代码: } 我现在收到以下异常: 谁能告诉我为什么我没有收到电子邮件以及此代码有什么问题。提前致谢 问题答案: 阅读https://developers.google.com/appengine/docs/java/mail/overview 基本上停止在您的应用程序中包含任何JavaMai
我试图通过节点邮件发送电子邮件,但无法发送电子邮件,并显示以下错误。 我使用的是nodemailer文档中所示的确切代码。 这是我正在使用的服务器端代码。 这在几天前运行良好,在其他邮件客户端和gmail上也运行良好,因此我认为这个问题可能与gmail帐户的任何安全设置有关。
问题内容: 我已经在本地()设置了一个基本的NodeJS服务器(使用nodemailer模块),以便可以测试该服务器是否可以实际发送电子邮件。 如果我正确理解SMTP选项(如果我输入错了,请更正我),我可以尝试将服务器中的电子邮件 直接 发送到某人的电子邮件帐户, 或者 可以仍然使用Node.js来发送电子邮件,但是 通过实际的电子邮件帐户 (在本例中为我的个人Gmail帐户),即使用SMTP。此
这是我用的密码。 早些时候,我把邮件发送到一个Gmail地址,所以“service”是“Gmail”,它工作得很好。 对于“office@company.ro”这样的地址,我应该传递什么作为“服务”?
我已经创建了一个帐户与sendInBlue,并导入了nodemailer和nodemailer-sendinblue-transport到我的项目中,我正在尝试发送一个简单的确认电子邮件。下面的代码是我如何尝试安装的: 下面的代码是我的注册方法中负责发送确认邮件的一节: 当我运行我的程序时,注册过程成功,但抛出以下错误,而不是发送电子邮件: 错误:在数据库中找不到键(失败,401) 我读到他们的v