在http://sendgrid.com/docs/Code_Examples/php.html的 sendgrid php 示例中,您可以添加发件人的电子邮件,但不能添加发件人的姓名。例如,如果发件人的姓名被分配了变量 $name,我怎样才能正确地将其添加到示例中,以便发件人的姓名显示为例如 Bob 而不仅仅是 bob@email.com?
谢谢!
在http://sendgrid.com/docs/Code_Examples/php.html的 sendgrid php 示例中,您可以添加发件人的电子邮件,但不能添加发件人的姓名。例如,如果发件人的姓名被分配了变量 $name,我怎样才能正确地将其添加到示例中,以便发件人的姓名显示为例如 Bob 而不仅仅是 bob@email.com?
谢谢!
原来答案是
setFromName($name)
根据php mail function 的文档,设置From标头。对于 SendGrid 类,我认为它可能是这样的:
$mail->addHeader("From", $name);
内联图像的完整示例,请看(查看cid:myimagecid的使用方式)
$sg = new \SendGrid("<YOUR API KEY>");
$from = new SendGrid\Email("Somebody", "etc@example.com");
$subject = "Bla bla";
$to = new SendGrid\Email("Somebody Else", "dest@example.com");
$content = new SendGrid\Content("text/html", 'Your html <img src="cid:myimagecid">');
$mail = new SendGrid\Mail($from, $subject, $to, $content);
$file = 'path/file.jpg';
$file_encoded = base64_encode(file_get_contents($file));
$attachment = new SendGrid\Attachment();
$attachment->setContent($file_encoded);
$attachment->setType("image/jpeg");
$attachment->setContentID("myimagecid");
$attachment->setDisposition("inline");
$attachment->setFilename("filename.jpg");
$mail->addAttachment($attachment);
try {
$response = $sg->client->mail()->send()->post($mail);
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
var_dump($response);
使用模板时的工作方式相同。