通过node.js将正文表单发送到gmail

时间:2017-01-10 09:15:55

标签: javascript node.js heroku gmail nodemailer

我尝试使用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帐户中修改哪些内容,我就会非常满意!

1 个答案:

答案 0 :(得分:4)

要允许来自google / gmail,您应该关注这些链接并允许不太安全的应用访问权限: unlock account

Less secure apps

如果仍有问题,请告诉我,我会检查/调试您的代码。