gmail - 是否可以使用API​​(而不是SMTP)发送gmail

标签 gmail

让我解释一下具体的情况:

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/

相关文章:

authentication - 仅在启用了 "Access for less secure apps"的帐户中才能通过Gmail帐户发送电子邮件

java - 使用 JavaMail API 时的 Gmail Imap 与 Pop3

zend-framework - 通过 Gmail smtp 服务器使用 Zend_Mail 发送邮件

带有 SMTP 传输连接的 Android Oauth 异常,Android 版本 2.3

gmail - "Hello world"作为 Gmail 插件?

centos - 将多个 SMTP 电子邮件登录添加到 mailx

c# - 下载 Gmail 联系人

email - Apps 脚本正在向电子邮件正文添加换行符

javascript - 在 Gmail 邮件中将 Google 表格范围(带或不带格式)作为 HTML 表格通过电子邮件发送

google-api - 使用别名域创建 Gmail 组 (Google)