我使用sendgrid从我的应用程序发送邮件,一切正常,直到我尝试添加附件(在页面内生成的pdf并存储为变量)。
如果我使用标准的php邮件功能,pdf会发送,但是我想将它添加到我的sendgrid邮件中,我使用以下代码但是没有运气:
$sendgrid = new SendGrid('SENDGRID_KEY');
$email = new SendGrid\Email();
$email
->addTo('example@mail.com')
->addBcc('example@mail.com')
->setFrom('example@mail.com')
->setSubject('Example')
->setFiles($pdfdoc)
->setHtml($example_html);
$sendgrid->send($email);
echo "you just sent a mail! <br>";
我已经尝试了 - > gt; setsetFiles()和 - &gt; setAttachment()但似乎都没有工作,我收到以下错误消息:
[09-Sep-2016 03:55:19 UTC] PHP致命错误:未捕获异常&#39; Guzzle \ Common \ Exception \ InvalidArgumentException&#39;消息&#39;无法打开%PDF-1.4 3 0 obj
有没有人知道如何做到这一点?
答案 0 :(得分: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@yourdomain.com',
'subject' => 'your subject',
'html' => 'testing body',
'text' => 'testing body',
'from' => 'yourmail@yourdomain.com',
'files['.$fileName.']' => $image_data
);
$request = $url.'api/mail.send.json';