从非主电子邮件地址通过 Gmail API 发送
Sending via the Gmail API from non-primary email address
问候 Gmail API 粉丝。
我写了一些非常棒的代码,它们使用 Gmail API 和 JavaScript 巧妙地验证和发送电子邮件。
但是,即使我的脑袋这么大,我也有一个问题。虽然使用 gapi.client.gmail.users.messages.send
将 userId
设置为 "me"
可以完美地发送电子邮件,但我无法让它从我与我的帐户关联的备用组电子邮件地址发送。
例如,如果我尝试将 userId
更改为 "myalternate@somewhere.com"
,即使该电子邮件地址与我的 Gmail 帐户相关联,执行也会引发 401 "Login Required" 错误。
Settings screen
知道发生了什么事吗?
下面的一小段代码:
// Stuff gleaned from a form
var headers = {
'subject': e.data.subject,
'to': e.data.to,
'cc': e.data.cc,
'bcc': e.data.bcc,
'content-type': 'text/html; charset=utf-8'
};
// grab the email content
message = editor.getContent({format : 'raw'});
// construct the email
var email = '';
for(var header in headers)
email += header += ': ' + headers[header] + '\r\n';
email += '\r\n' + message;
// This is the bit - changing userId to anything other than 'me' (or the primary email address) kicks error
var sendRequest = gapi.client.gmail.users.messages.send({
'userId': 'me',
'resource': {
'raw': window.btoa(unescape(encodeURIComponent(email))).replace(/\+/g, '-').replace(/\//g, '_')
}
});
return sendRequest.execute(function(){});
}
不要更改 URL 路径中的 "userId"。只需在您的电子邮件中将 "From" header 设置为该地址(并且它必须是您的 Gmail 帐户的经过验证的地址才能起作用)。
问候 Gmail API 粉丝。
我写了一些非常棒的代码,它们使用 Gmail API 和 JavaScript 巧妙地验证和发送电子邮件。
但是,即使我的脑袋这么大,我也有一个问题。虽然使用 gapi.client.gmail.users.messages.send
将 userId
设置为 "me"
可以完美地发送电子邮件,但我无法让它从我与我的帐户关联的备用组电子邮件地址发送。
例如,如果我尝试将 userId
更改为 "myalternate@somewhere.com"
,即使该电子邮件地址与我的 Gmail 帐户相关联,执行也会引发 401 "Login Required" 错误。
Settings screen
知道发生了什么事吗?
下面的一小段代码:
// Stuff gleaned from a form
var headers = {
'subject': e.data.subject,
'to': e.data.to,
'cc': e.data.cc,
'bcc': e.data.bcc,
'content-type': 'text/html; charset=utf-8'
};
// grab the email content
message = editor.getContent({format : 'raw'});
// construct the email
var email = '';
for(var header in headers)
email += header += ': ' + headers[header] + '\r\n';
email += '\r\n' + message;
// This is the bit - changing userId to anything other than 'me' (or the primary email address) kicks error
var sendRequest = gapi.client.gmail.users.messages.send({
'userId': 'me',
'resource': {
'raw': window.btoa(unescape(encodeURIComponent(email))).replace(/\+/g, '-').replace(/\//g, '_')
}
});
return sendRequest.execute(function(){});
}
不要更改 URL 路径中的 "userId"。只需在您的电子邮件中将 "From" header 设置为该地址(并且它必须是您的 Gmail 帐户的经过验证的地址才能起作用)。