2016-08-15 1 views
1

안녕하세요. 전자 메일을 보내려는 경우 nodemailer를 사용하고 있습니다. 그것은 로컬 호스트에서 잘 작동하지만 원격 웹 사이트에 배포 할 때 작동하지 않습니다. 그게 문제가되지 않습니다 그래서 나는 이미 보안 수준이 낮은 앱 내 이메일 주소에 대한 액세스 권한을 부여했다nodemailer를 사용하여 전자 메일을 보내는 중 원격에서 작동하지 않지만 로컬 호스트에서 작업 중

ERROR === { Error: Invalid sender “<[email protected]>” 
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); 
    } 
    }); 
}; 

: I 원격 웹 사이트에 이메일을 보내려고 할 때

나는 다음과 같은 오류 메시지가 나타납니다. 누구도 원격 웹 사이트가 아닌 로컬 웹 사이트에서 작동하는 이유를 알고 있습니까?

+0

일부 보안 검사가 SMTP를 제한의 나 서버가 보낸 사람의 전자 메일 도메인이 등록 된 전자 메일의 도메인과 일치하지 않으면 전자 메일을 보냅니다. – enRaiser

+0

현재 저는 Mailgun을 사용하고 있으며 로컬 및 원격으로 작동해야하는 샌드 박스 도메인 이름으로 테스트하고 있습니다. 나는 발신자와 수신자 인 승인 된 사용자가 2 명 밖에 없다. – MichaelGofron

+0

다음 발신자 이메일 ID에 gmail.com이 포함 된 이유 (예 : [email protected]) – enRaiser

답변

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

참조 - Nodemailer Issue With Proxy

0

대괄호를 추가하면 로컬에서 작동하더라도 원격에서 nodemailer가 작동하지 않는 것처럼 보입니다.

난 다음에 코드를 변경 :

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

그리고 내 원격 서버에서 이메일을 보내는 지금 작동

관련 문제