发送电子邮件使用nodemailer不工作在远程,但在本地主机工作

您好,我正在使用nodemailer发送电子邮件。 它可以在本地主机上正常工作,但在部署到远程网站时无法正常工作。

当我尝试在远程网站上发送电子邮件时,出现以下错误消息:

ERROR === { Error: Invalid sender “<Myemailaddress@gmail.com>” 2016-08-15T05:05:01.034175+00:00 app[web.1]: at SMTPConnection._formatError (/app/node_modules/smtp-connection/lib/smtp-connection.js:493:15) 2016-08-15T05:05:01.034175+00:00 app[web.1]: at SMTPConnection._setEnvelope (/app/node_modules/smtp-connection/lib/smtp-connection.js:688:30) 2016-08-15T05:05:01.034176+00:00 app[web.1]: at SMTPConnection.send (/app/node_modules/smtp-connection/lib/smtp-connection.js:364:10) 2016-08-15T05:05:01.034177+00:00 app[web.1]: at SMTPTransport.<anonymous> (/app/node_modules/nodemailer-smtp-transport/lib/smtp-transport.js:126:24) 2016-08-15T05:05:01.034178+00:00 app[web.1]: at /app/node_modules/nodemailer-smtp-transport/lib/smtp-transport.js:162:21 2016-08-15T05:05:01.034178+00:00 app[web.1]: at SMTPConnection._actionAUTHComplete (/app/node_modules/smtp-connection/lib/smtp-connection.js:1185:5) 2016-08-15T05:05:01.034179+00:00 app[web.1]: at SMTPConnection.<anonymous> (/app/node_modules/smtp-connection/lib/smtp-connection.js:307:22) 2016-08-15T05:05:01.034180+00:00 app[web.1]: at SMTPConnection._processResponse (/app/node_modules/smtp-connection/lib/smtp-connection.js:634:16) 2016-08-15T05:05:01.034180+00:00 app[web.1]: at SMTPConnection._onData (/app/node_modules/smtp-connection/lib/smtp-connection.js:458:10) var nodemailer = require('nodemailer'); var transporter = nodemailer.createTransport({ service: 'Mailgun', auth: { user: process.env.MAILGUN_USERNAME, pass: process.env.MAILGUN_PASSWORD } }); /** * */ exports.contact = function(from, to) { var mailOptions = { from: from.name + ' ' + '<'+ from.email + '>', to: to.email, subject: from.subject || "No Subject", text: from.message }; transporter.sendMail(mailOptions, function(err) { if (err){ console.log("ERROR === ", err); } }); }; 

我已经给我的电子邮件地址访问不太安全的应用程序,所以不应该是这个问题。 有谁知道为什么它会在当地的网站,而不是远程网站?

 Nodemailer does not support proxies and currently there is no plan to add any support for these, sorry. 

参考 – 使用代理的Nodemailer问题

好吧,似乎添加括号似乎阻止了nodemailer在远程工作,即使它在本地工作。

我将代码更改为以下内容:

  var mailOptions = { from: from.email to: to.email, subject: from.subject || "No Subject", text: from.message }; 

现在它在我的远程服务器上发送电子邮件