【发布时间】:2014-10-02 03:40:15
【问题描述】:
我正在尝试通过 Google API 发送电子邮件。
我在 node.js 中使用 googleapis 访问 Google API。
我的问题是,当我尝试发送没有附件的简单邮件时,出现以下错误:
'raw' RFC822 有效负载消息字符串或通过 /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){});
【问题讨论】:
-
您是否尝试让
base64EncodedEmailurl 安全?示例:base64EncodedEmail.replace(/\+/g, '-').replace(/\//g, '_') -
@mscdex 它确实改变了字符串中的部分,但我仍然遇到同样的错误
-
我也有同样的问题。无论我发送什么,API 接缝都会做出相同的响应。
-
我什至尝试发回我收到的原始消息作为 API 本身的响应。我收到了同样的错误信息。
标签: javascript node.js google-api google-api-nodejs-client