2016-03-24 12 views
0

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

Antwort

0

Ich weiß nicht viel über gmail api, aber ich fühle mich wie setRaw() benötigen Sie die vollständige E-Mail zu schreiben (die Anlage enthalten) statt nur von "Körper".

+0

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

+0

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

+0

(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