2016-08-12 3 views
0

Я пытаюсь добавить вложения, как показано на https://github.com/sendgrid/sendgrid-google-php. Но это не работает таким образом. Я думаю, я пробовал все возможные решения, но не могу сделать эту работу. Вот мой код.Google App Engine Отправить Grid PHP-приложение

<?php 
require 'SendGrid_loader.php'; 

// Connect to your SendGrid account 
$sendgrid = new SendGrid\SendGrid('myusername', 'mypassword'); 

// Make a message object 
$mail = new SendGrid\Mail(); 

// Mail arrayi 
$emails = array("[email protected]","[email protected]"); 
$names = array("name1", "name2"); 


// Add recipients and other message details 
$mail->setTos($emails)-> 
     setFrom('[email protected]')-> 
     setFromName('Test Sender')-> 
     setReplyTo('[email protected]')-> 
     setSubject('Test')-> 
     addAttachment("test.jpg")-> 
     addCategory("TEST-GONDERIM")-> 
     addUniqueArgument("BASIN", "YEREL-BASIN")-> 
     addSubstitution("%name%", $names)-> 
     setText('TEXT BODY MESSAGE')-> 
     setHtml('<strong>%name% MERHABA,</br>BODY MESSAGE</strong>'); 

// Use the Web API to send your message 
$sendgrid->send($mail); 
?> 

Я попытался поместить файл test.jpg в ту же папку с этим файлом php. Также попытался добавить как gs: //bucket_name/test.jpg, но не работает. Есть идеи. Заранее спасибо

+0

сообщения об ошибке Что вы видите? –

+0

Я не получаю сообщение об ошибке; код отправляет вложение с пустым файлом. Имя файла имеет значение true, но у него нет содержимого. Когда я открываю файл в блокноте, содержимое файла «@filename», или если я дал другой путь «@ path/to/file/filename». Я также попробовал версию Curl. Но он тоже не работает. Я могу запустить версию Curl на разных хостингах, и это работает. Но когда он запускается в Google App Engine, он отправляет файл с пустым контентом. – aslanmert

ответ

0

решаемые с помощью веб-API v2 Curl версии как этого

$fileName = 'filename.pdf'; 
$image_data = file_get_contents('gs://my-bucket/filename.pdf'); 

представляемой часть

$params = array(
'api_user' => $user, 
'api_key' => $pass, 
'x-smtpapi' => json_encode($json_string), 
'to'  => '[email protected]', 
'subject' => 'your subject', 
'html'  => 'testing body', 
'text'  => 'testing body', 
'from'  => '[email protected]', 
'files['.$fileName.']' => $image_data 
); 

$request = $url.'api/mail.send.json';