让我解释一下具体的情况:
ERP系统以多个Google Apps域帐户作为用户(使用Google登录)
我正在寻找一种方法,让每个用户都可以使用表单发送电子邮件,并且发送的电子邮件也应该保留在原始的 Gmail 发送框中。
我用 SMTP 脚本进行了测试,它工作得很好。 然而,我们的想法不是将每个用户密码存储为纯文本,而是使用某种带有 key / secret 的 API/Auth,而不是用户/密码。
理想的解决方案是从应用程序管理员全局提供此 api/ key - 这意味着在将新用户添加到域时不应编辑脚本。
这可能吗?我找不到解决方案。有一个 API,但仅用于某些 Gmail 设置,不适用于发送。
谢谢!
最佳答案
是的,你可以做到。 Gmail 已为此推出了 API。您必须注册您的应用程序并让用户进行身份验证。获得身份验证 token 后,请访问 api 了解详细信息。 (确保您获得用户的许可才能从他的电子邮件 ID 发送电子邮件。)
http://www.googleapis.com/oauth2/v3/userinfoaccess_token= “访问 token ”
然后使用这样的邮件选项创建 header
var header = { '授权':'承载' + token , '内容类型':'消息/rfc822', '接受的媒体 MIME 类型': 'message/rfc822', '至':'[email protected] ', “主题”:“打招呼” }
var requestObject = {
host: 'www.googleapis.com',
port: 443,
path: '/upload/gmail/v1/users/'+ userId + '/messages/send?key=' + apiKey + '&uploadType=media',
method: 'POST',
headers: headers
};
然后使用 requestObject 发出 http 请求,就完成了。
关于gmail - 是否可以使用API(而不是SMTP)发送gmail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26398514/