我尝试使用node.js将邮件发送到gmail几天没有成功: - (
在尝试开始时我尝试将表单提交发送到我的Gmail,但首先我需要了解如何将简单邮件从body发送到gmail, 也许我错误的语法或遗漏了什么?
实际上我使用" heroku"作为我网站的存储和域名
我尝试了几个插件(例如mailgun,发送网格等等),但过程太复杂,无法将API集成到我的网站中。
实际上, 我在堆栈溢出中发现这篇文章描述了如何根据我的错误发送via nodemailer - URL:node.js nodemailer gmail error
当我将answer1复制到我的代码时,我仍然收到错误。
我'还通过所有gmail设置如何为不太安全的应用程序关闭安全块但我仍然收到错误。 所有要求都安装在我的npm上 npm install --save
**代码**
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
function handleSayHello(req, res) {
var transport = nodemailer.createTransport(smtpTransport({
service: 'gmail',
auth: {
user: 'myGmail@gmail.com', // my mail
pass: 'myPassword'
}
}));
var mailOptions = {
from: 'myGmail@gmail.com', // sender address
to: 'myGmail@gmail.com', // list of receivers
subject: 'Email Example' // Subject line
//text: text //, // plaintext body
//html: '<b>Hello world ?</b>' // You can choose to send an HTML body instead
};
transport.sendMail(mailOptions, function (error, info) {
if (error) {
console.log(error);
res.json({
yo: 'error',
err: error
});
} else {
console.log('Message sent: ' + info.response);
res.json({
yo: info.response,
info: info
});
};
});
}
router.get('/', function (req, res, next) {
handleSayHello(req, res);
});
then i receive this error:
{
"yo": "error",
"err": {
"code": "EAUTH",
"response": "534-5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbtx\n534-5.7.14 e8jnXXDaDg-dpFfc3H5ljeaBdmnxbXBDXMh-aXS-mmV4gQsXMSZLiiJHDXuOr3wy-IR2Zp\n534-5.7.14 xnznWLf5y5e3xTbJNlZBNcxBMajM9-SFQGy1MQM2XZRpHgtywuDtEj5iPiP0b2T6Wjbsxg\n534-5.7.14 hgehfzufG6h13qhjQK5IgRPNQsSICRQBtRCl3E1J62wFo8bnvZv4peY5aK55JMpwhSavJb\n534-5.7.14 ho-b9ExGGsXFmw_Er6lc8m3vCmO_Q> Please log in via your web browser and\n534-5.7.14 then try again.\n534-5.7.14 Learn more at\n534 5.7.14 https://support.google.com/mail/answer/78754 t35sm887733qtc.40 - gsmtp",
"responseCode": 534,
"command": "AUTH PLAIN"
}
}
如果有人可以接受我的代码并修复它(如果需要的话)并简单解释我需要在我的Google帐户中修改哪些内容,我就会非常满意!
答案 0 :(得分:4)
要允许来自google / gmail,您应该关注这些链接并允许不太安全的应用访问权限: unlock account
如果仍有问题,请告诉我,我会检查/调试您的代码。