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

时间:2014-10-16 07:25:58

标签: gmail

让我解释确切的案例:

ERP系统以多个谷歌应用程序域帐户作为用户(使用谷歌登录)

我正在搜索每个用户可以使用表单发送电子邮件的方式,并且发送的电子邮件也应保留在原始的gmail发送框中。

我使用SMTP脚本进行了测试,并且它运行正常。 但是,这个想法不是将每个用户密码存储为纯文本,而是使用某种API / Auth与密钥/秘密而不是用户/密码。

理想的解决方案是这个api / key将全部来自Apps管理员 - 这意味着在向域添加新用户时不应编辑脚本。

有可能吗?我无法找到解决方案。有一个API,但仅适用于某些gmail设置,而不适用于发送。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,你可以做到这一点。 Gmail为此推出了API。您必须注册您的应用程序并获得用户身份验证。获得身份验证令牌后,请点击api了解详细信息。 (确保您获得了用户的电子邮件发送电子邮件的权限。)

http://www.googleapis.com/oauth2/v3/userinfoaccess_token="访问令牌"

然后使用像这样的邮件选项创建标题

var headers = {            '授权':'持票人' +令牌,            '内容类型' :' message / rfc822',            '接受的媒体MIME类型' :' message / rfc822',            ' To':' reciever@provider.com' ,            '主题':'说你好'                  }

    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请求并完成。