Ich hätte gerne Hilfe, weil ich gerade ein wenig verloren bin. Ich versuche Anhang mit meiner E-Mail durch fortsetzbaren Upload zu senden. Aber wenn ich meine E-Mail in meinem Posteingang überprüfe, sehe ich keine Datei. Also habe ich wahrscheinlich etwas vergessen.Fehlende Datei in meiner E-Mail beim fortsetzbaren Upload mit Google Mail api
Hier ist mein Code. Also, wenn jemand etwas sehen ^^
$send_data = 'From: <FROM_EMAIL>' . "\n";
$send_data = 'To: <TO_EMAIL>' . "\n";
$send_data = 'Subject: <SUBJECT>' . "\n";
$send_data = '' . "\n";
$send_data = '<MY MESSAGE>' . "\n";
$send_data= rtrim(strtr(base64_encode($send_data), '+/', '-_'), '=');
$msg = new \Google_Service_Gmail_Mesage();
$msg->setRaw($send_data);
$this->client->setDefer(true);
$request = $this->service->users_messages->send('me', $msg, array('uploadType' => 'resumable'));
$chunkSizeBytes = 1 * 1024 * 1024;
$media = new \Google_Http_MediaFileUpload(
$this->client,
$request,
'message/rfc822',
null,
true,
$chunkSizeBytes
);
$media->setFileSize(filesize(TEST_FILE));
$status = false;
$handle = fopen(TEST_FILE, "rb");
$i = 0;
while (!$status && !feof($handle)) {
$chunk = fread($handle, $chunkSizeBytes);
$status = $media->nextChunk($chunk);
}
$result = false;
if($status != false) {
$result = $status;
}
fclose($handle);
$this->client->setDefer(false);
Dank
Wenn ich einen Anhang (base64-codiert) in die E-Mail einfüge, werde ich die Dateigröße auf 5 MB (oder weniger) beschränken. – Lanternet
Das ist ein kniffliger Teil, einige Dienstanbieter zählen die Größe nach Originaldatei (d. H. Binär), aber andere zählen auf codierte Größe (z. B. base64). – Hang
(EDIT) Ich habe nicht sorgfältig gelesen, bevor ich diesen Kommentar gepostet habe. Sind Sie sicher, dass 5MB die Begrenzung ist? Es scheint [25MB] (https://support.google.com/mail/answer/6584?hl=de) für mich zu sein. – Hang