Kürzlich deaktiviert Google ihre "Legacy" Upload-Fähigkeit, so dass ich gezwungen war, unsere Anwendungen zu ändern, um die Google-Nutzer(). Nachrichten() zu verwenden.Senden Sie große E-Mail über Gmail API in Python
Allerdings funktioniert es auf nichts über 5 MB. Ich habe einen Beitrag im Internet gesehen, wie man es in PHP macht, aber nichts in Python.
Hier ist meine vorhandenen Code:
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 umfangreiche Dokumentation hat, aber nicht auf die spezifische Fähigkeit, große E-Mails in Python zu senden. In der Tat auf dieser Seite:
https://developers.google.com/gmail/api/v1/reference/users/messages/send
Sie sprechen den Basis-API über die Verwendung von Nachrichten so groß wie 35 MB zu senden, aber das einfach nicht funktioniert. Ich erhalte einen "ResponseNotReady()" Fehler.
Ich habe über Chunked-Uploads, fortsetzbare Uploads gelesen, aber nichts ist zum Tragen gekommen.
Irgendwelche Gedanken da draußen?
Ich hatte das gleiche Problem [vor zwei Jahren] (http://stackoverflow.com/questions/24908700/mail-attachment-wrong-media-type-gmail-api/24957873#24957873), und ich musste gehen außerhalb der offiziellen Client-Bibliothek (siehe Bearbeiten am Ende der Antwort). Kurz gesagt: Kodiere die Nachricht nicht und benutze stattdessen die einfache Upload-URL mit dem Content-Type 'message/rfc822'. – Tholle
Gibt es Überlegungen, das URL-Format von Python aus zu erstellen? – AaronF