通过Python API中的Gmail API发送大量电子邮件

时间:2016-07-27 13:03:52

标签: python gmail gmail-api

最近谷歌禁用了他们的遗产"上传功能,所以我被迫更改我们的应用程序以使用Google用户()。messages()。发送api。

然而,它不适用于超过5mb的任何东西。我在www上看过一篇关于如何用PHP做的文章,但在Python中没有。

这是我现有的代码:

http        =   #My login routine
service     =   build('gmail','v1',http=http)
email       =   {'raw':base64.urlsafe_b64encode(message)}
reply       =   (service.users().messages().send(userId=user,body=email).execute())

Google拥有大量文档,但不具备使用Python发送大型电子邮件的具体功能。实际上在这个页面上:

https://developers.google.com/gmail/api/v1/reference/users/messages/send

他们谈论使用基本API发送大小为35MB的消息,但这根本不起作用。我收到了一个" ResponseNotReady()"错误。

我一直在阅读有关分块上传,可恢复上传的内容,但没有任何结果。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有同样的问题two years ago,我仍然认为发送带有大附件的邮件的唯一方法是规避官方客户端库。

这是使用requests库的示例:

String

邮件未编码。我认为你可以从服务对象中提取访问令牌,但我不确定如何。