2016-11-08 62 views
0

这是我用来发送电子邮件的代码。使用gmail nodejs api时获取电子邮件弹跳

function sendMessage(auth) { 
var gmail =google.gmail('v1'); 

var email_lines =[]; 
email_lines.push("From:[email protected]"); 
email_lines.push("To:[email protected]"); 
email_lines.push('Content-type:text/html;charset=iso-8859-1'); 
email_lines.push('MIME-Version:1.0'); 
email_lines.push("Subject:Testing "); 
email_lines.push("Hi,"); 
email_lines.push("Testing"); 
email_lines.push("<b>Hi</b>"); 

var email =email_lines.join("\r\n").trim(); 
var base64EncodedEmail = new Buffer(email).toString('base64'); 

base64EncodedEmail=base64EncodedEmail.replace(/\//g,'_').replace(/\+/g,'-'); 
gmail.users.messages.send({ 
    auth, 
'userId': 'me', 

'resource': { 
    'raw': base64EncodedEmail 
    } 

},function(err, response) { 
if (err) { 
    console.log('The API returned an error: ' + err); 
    return; 
} 
console.log(response); 
}); 
} 

我收到弹回电子邮件 发生了错误。您的消息未被发送。

嗨,嗨测试时间:星期二,2016年11月8日1时35分08秒-0800邮件ID:`

请帮助。

+1

您需要在电子邮件内容'email_lines.push(“Subject:Testing \ r \ n”)之前的'Subject'之后多出一个空行;'' – Tholle

回答

0

@Tholle - 这对我很有用,那多余的空行给了我很多麻烦。

我的JavaScript测试,下面是我的工作原电子邮件:

From: [email protected] 
To: [email protected] 
Subject: Test Subject 
Reply-To: [email protected] 
Date: Fri Dec 30 2016 09:54:09 GMT-0500 (EST) 

Test Body 

一些帖子中写道:回复至是必需的,但是我觉得这里不是必需的日期。

相关问题