使用javascript通过google api发送邮件失败
我正试图用JavaScript通过谷歌API发送电子邮件 我的问题是,当我尝试发送一封没有附件的简单邮件时,会出现以下错误: 需要“原始”RFC822有效负载消息字符串或通过/upload/*URL上传消息` 我的代码使用javascript通过google api发送邮件失败,javascript,email,google-api,google-api-client,Javascript,Email,Google Api,Google Api Client,我正试图用JavaScript通过谷歌API发送电子邮件 我的问题是,当我尝试发送一封没有附件的简单邮件时,会出现以下错误: 需要“原始”RFC822有效负载消息字符串或通过/upload/*URL上传消息` 我的代码 function sendMessage() { gapi.client.load('gmail', 'v1', function() { // Web-safe base64 var to = 'someone@someone.nl', sub
function sendMessage() {
gapi.client.load('gmail', 'v1', function() {
// Web-safe base64
var to = 'someone@someone.nl',
subject = 'Hello World',
content = 'send a Gmail.'
var base64EncodedEmail = btoa(
"Content-Type: text/plain; charset=\"UTF-8\"\n" +
"Content-length: 5000\n" +
"Content-Transfer-Encoding: message/rfc2822\n" +
"to: someone@someone.nl\n" +
"from: \"test\" <test@gmail.com>\n" +
"subject: Hello world\n\n" +
"The actual message text goes here"
).replace(/\+/g, '-').replace(/\//g, '_');
var mail= base64EncodedEmail;
console.log(mail);
var request = gapi.client.gmail.users.messages.send({
'userId': "me",
'message': {
'raw': mail
}
});
request.execute(function(response){
console.log(response);
});
});
}
函数sendMessage(){
load('gmail','v1',function(){
//网络安全base64
var至someone@someone.nl',
主题=‘你好,世界’,
内容='发送一个Gmail'
var BASE64ENCODEMAIL=btoa(
“内容类型:文本/纯文本;字符集=\“UTF-8\”\n”+
“内容长度:5000\n”+
“内容传输编码:消息/rfc2822\n”+
“至:someone@someone.nl\n“+
“发件人:\”测试\“\n”+
“主题:Hello world\n\n”+
“实际的消息文本显示在此处”
).replace(//\+/g,'-')。replace(//\//g,'-');
var mail=base64encodemail;
控制台日志(邮件);
var request=gapi.client.gmail.users.messages.send({
“用户ID”:“我”,
“消息”:{
“原始”:邮件
}
});
请求.执行(函数(响应){
控制台日志(响应);
});
});
}
几天后,我自己找到了答案。问题是,正文中的“消息”只能在您在电子邮件中发送附件时使用
如果您没有附件,查询看起来就像我在这里写的
var mail= base64EncodedEmail;
console.log(mail);
var request = gapi.client.gmail.users.messages.send({
'userId': "me",
'resource': {
'raw': mail
}
});
request.execute(function(response){
console.log(response);
});
几天后,我自己找到了答案。问题是,正文中的“消息”只能在您在电子邮件中发送附件时使用 如果您没有附件,查询看起来就像我在这里写的
var mail= base64EncodedEmail;
console.log(mail);
var request = gapi.client.gmail.users.messages.send({
'userId': "me",
'resource': {
'raw': mail
}
});
request.execute(function(response){
console.log(response);
});
谢谢我发现
drafts.create
和message.send
使用的语法不一致……是否有python版本?python 3.8:raw=base64.urlsafe\u b64encode(message.as\u bytes()).decode()gmail\u api.users().messages().send(userId=“me”,body={'raw':raw})。execute()谢谢!我发现drafts.create
和message.send
使用的语法不一致……是否有python版本?python 3.8:raw=base64.urlsafe\u b64encode(message.as\u bytes()).decode()gmail\u api.users().messages().send(userId=“me”,body={'raw':raw}.execute()相关:你能解释一下为什么用-
替换(//\+/g,'-')。用-
替换(//\//g,''-')替换(//\//g,'-')••用-
替换+
?另外,为了简化使用”
(单引号)以避免转义”
。相关:你能解释一下为什么替换(//\+/g,'-')。替换(//\//g,'''.'''.'''.''.-••将+
替换为-
,并简化使用
(单引号)以避免转义。”
。