无法通过 nodemailer 发送电子邮件 |发件人“电子邮件 id@gmail.com>”无效

Posted

技术标签:

【中文标题】无法通过 nodemailer 发送电子邮件 |发件人“电子邮件 id@gmail.com>”无效【英文标题】:unablle to send email via node-mailer | Invalid sender "emailid@gmail.com>" 【发布时间】:2017-02-08 02:12:07 【问题描述】:

我正在使用 express、nodemailer 和 express 来测试通过 gmail 帐户发送电子邮件。但由于某种原因,我无法发送它。此外,帐户电子邮件和密码 100% 正确,但我仍然收到此错误。错误并不能说明问题出在哪里。

另外,我已经“开启”了 gmail 设置,即降低了应用程序的设置。

我还没有使用过http://nodemailer.com/2-0-0-beta/using-oauth2/,即使我使用此电子邮件 ID 登录浏览器,我也需要使用它吗?

我确实需要在不使用浏览器的情况下进行开发,但我希望看到它之前可以正常工作。

[错误:无效发件人“**********@gmail.com>”] 代码:'EENVELOPE',命令:'API' /Users/jay/code/gmailSendEmail/app.js:43 res.json(yo: '错误'); ^

var nodemailer = require('nodemailer');

var express = require('express');
var app = express();
var nodeMailer = require('nodemailer');
var transporter = nodemailer.createTransport();

console.log ( ' coming here 1');



var router = express.Router();
app.use('/sayHello', router);
router.post('/', handleSayHello); // handle the route at yourdomain.com/sayHello

function handleSayHello(req, res) 
    // Not the movie transporter!
    var transporter = nodemailer.createTransport(
        service: 'Gmail',
        auth: 
            user: '****@gmail.com', // Your email id
            pass: '*****' // Your password
        
    );


var mailOptions = 
    from: '*****@gmail.com>', // sender address
    to: '*****@gmail.com', // list of receivers
    subject: 'Email Example', // Subject line
    text: 'Hello world ' //, // plaintext body
    // html: '<b>Hello world ✔</b>' // You can choose to send an HTML body instead
;


console.log ( ' coming here 2');

transporter.sendMail(mailOptions, function(error, info)
    console.log ( ' beginning emial sending '); 
    if(error)
        console.log('got - error here');        
        console.log(error);
        res.json(yo: 'error');
    else
        console.log ( 'no error emial sending ')
        console.log('Message sent: ' + info.response);
        res.json(yo: info.response);
    ;
);



handleSayHello(); 

【问题讨论】:

【参考方案1】:

只需从 from

中删除 '>'
var mailOptions = 
    from: '*****@gmail.com', // sender address
    to: '*****@gmail.com', // list of receivers
    subject: 'Email Example', // Subject line
    text: 'Hello world ' //, // plaintext body
    // html: '<b>Hello world ✔</b>' // You can choose to send an HTML body instead
;

【讨论】:

我犯了同样的错误并最终落在这里的几率有多大!

以上是关于无法通过 nodemailer 发送电子邮件 |发件人“电子邮件 id@gmail.com>”无效的主要内容,如果未能解决你的问题,请参考以下文章

使用nodemailer发送邮件

使用 nodemailer 通过 Node.js 发送电子邮件不起作用

带有 Gmail 服务的 Nodemailer 无法在 heroku 上运行

使用Nodejs的Nodemailer通过163信箱发送邮件例程

让 nodemailer 使用不同的 gmail 帐户发送电子邮件

工具Node.js邮件发送组件- Nodemailer 1.0发布