Ich habe den folgenden Code ausprobiert, um mehrteilige E-Mails mit großen Anhängen zu erstellen:
%Vor%Das ist ziemlich ähnlich zu dem, was in dieser Anleitung dargestellt wird, wenn ich versuche, etwas hinzuzufügen eine Datei, die größer als ~ 5mb ist, hängt die Execute-Funktion und kehrt nicht zurück (ich würde einen Fehler oder zumindest eine Zeitüberschreitung erwarten, aber das ist ein anderes Problem)
Nach einigem Suchen habe ich festgestellt, dass ich irgendwie upload
request ( siehe hier ), sieht die folgende API in Gmail API
richtig aus:
Leider konnte ich keine Dokumente oder Anweisungen zu seiner Verwendung finden.
Als ich versuchte, den Anhang als mediaContent
zu schreiben, bekam ich den Fehler, dass der einzige unterstützte Mime-Typ message/rfc822
ist, also habe ich versucht, den MimeBodyPart
, den ich erstelle, in der obigen for
Schleife zu verwenden es, aber es sieht aus wie der Anhang einfach ignoriert wird.
Wie sollte man die Anhänge Gmail client API
und 'upload' verwenden?
Ich weiß, dass diese Frage ein paar Monate alt ist, aber nachdem ich auf das gleiche Problem gestoßen bin, konnte ich es herausfinden.
Meine Implementierung ist Ihrer sehr ähnlich, alles, was ich geändert habe, waren die letzten zwei Zeilen.
Also statt:
%Vor%Verwenden:
%Vor%Der Abschnitt Medien hochladen / herunterladen von Der Java-Client für Google API gibt die entsprechenden Schritte an.
Es wurde angegeben, dass Sie resumable media upload
als Upload-Option für dieses Szenario verwenden müssen. Um es zu implementieren, müssen Sie MediaHttpUploader
und MediaUttpProgressListener
verwenden.
Die referenzierte Seite hat auch ein Beispiel, das mit GMail funktionieren kann, wenn Sie InputStreamContent
im dritten Parameter von send()
übergeben.