gpt4 book ai didi

javascript - 在nodejs中通过google api发送邮件失败

转载 作者:IT老高 更新时间:2023-10-28 23:10:51 25 4
gpt4 key购买 nike

我正在尝试通过 Google API 发送电子邮件。

我正在使用 googleapis用于 node.js 中的 Google API 访问。

我的问题是,当我尝试发送没有附件的简单邮件时,出现以下错误:

'raw' RFC822 payload message string or uploading message via /upload/* URL required

我没有在我的请求中定义有附件,我在电子邮件地址中没有看到任何错误。

请帮忙。

我的代码:

    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){});

最佳答案

对 1.0.3 版的 google api 进行了更改。尝试使用以下语法:

gmailClass.users.messages.send({
auth: OAuth2Client,
userId: "me",
resource:
{
raw: base64EncodedEmail
}
}

确保 base64EncodedEmail 是 url 安全的。您可以使用 mscdex 发布的 base64EncodedEmail.replace(/\+/g, '-').replace(/\//g, '_') 代码。此语法适用于 v. 1.0.11

关于javascript - 在nodejs中通过google api发送邮件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25207217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com