2016-09-09 2 views
0

내 응용 프로그램에서 메일을 보내려면 sendgrid를 사용하고 있습니다. 첨부 파일 (페이지 내에 생성되어 변수로 저장 됨)을 추가 할 때까지는 문제가 없습니다.Sendgrid 첨부 파일 - pdf php

PDF에 내가 내 sendgrid 메일이를 추가 할 그러나 표준 PHP 메일 기능을 사용하는 경우, 나는 다음과 같은 코드를 사용하고 있지만, 운이 가지고 있지 않다 전송

: 나는했습니다

 $sendgrid = new SendGrid('SENDGRID_KEY'); 
     $email = new SendGrid\Email(); 
     $email 
     ->addTo('[email protected]') 
     ->addBcc('[email protected]') 
     ->setFrom('[email protected]') 
     ->setSubject('Example') 
     ->setFiles($pdfdoc) 
     ->setHtml($example_html); 

     $sendgrid->send($email); 
     echo "you just sent a mail! <br>"; 

을 시도 -> setsetFiles() 및 -> setAttachment()하지만 둘 다 작동하지 않는 것 및 다음과 같은 오류 메시지가 나타납니다 :

[09-9 월 -2016 03:55:19 UTC] PHP 치명적 오류 : 잡히지 예외 'Guzzle \ Common \ Exception \ InvalidArgumentException 'with message'% PDF-1.4를 열 수 없습니다. 3 0 obj

누구나이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

+0

이 내용을 읽으셨습니까? https://sendgrid.com/docs/Classroom/Build/Add_Content/attachments.html? –

+0

첨부 파일을 언급하는 것과는 별개로하는 방법을 실제로 설명하지는 않았지만 – user1419810

+0

사용중인 sendgrid 버전을 언급하지 않았지만이 링크를 따라 코드를 확인하고 비교할 수 있습니다. https : //sendgrid.com/docs/Integrate/Code_Examples/v2_Mail/php.html 여기는 버전 2입니다. –

답변

0
`#Solved with using web api v2 Curl version like this 

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

#sending part 

$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';