无法通过nodejs中的google api发送邮件
我正在尝试通过Google API发送电子邮件。
我在node.js中使用googleapis来访问Google API。
我的问题是,当我尝试发送没有附件的简单邮件时,出现以下错误:
'raw'RFC822负载消息string或通过/ upload / * URL上传消息
我没有在我的请求中定义有附件,我没有在电子邮件地址中看到任何错误。
请帮忙。
我的代码:
var google = require('googleapis'); var gmailClass = google.gmail('v1'); var email_lines = []; email_lines.push("From: \"Some Name Here\" <rootyadaim@gmail.com>"); email_lines.push("To: hanochg@gmail.com"); email_lines.push('Content-type: text/html;charset=iso-8859-1'); email_lines.push('MIME-Version: 1.0'); email_lines.push("Subject: New future subject here"); email_lines.push(""); email_lines.push("And the body text goes here"); email_lines.push("<b>And the bold text goes here</b>"); var email =email_lines.join("\r\n").trim(); var base64EncodedEmail = new Buffer(email).toString('base64'); gmailClass.users.messages.send({ auth: OAuth2Client, userId: "me", message: { raw: base64EncodedEmail } }, function(err, results){});
对google api版本1.0.3进行了更改。 尝试使用以下语法:
gmailClass.users.messages.send({ auth: OAuth2Client, userId: "me", resource: { raw: base64EncodedEmail } }
确保base64EncodedEmail是url安全的。 您可以使用base64EncodedEmail.replace(/\+/g, '-').replace(/\//g, '_')
代码。 这个语法适用于1.0.11版