SendGrid Cc и Bcc не работают на PHP
Я использую sendgrid с php, я использовал обе опции: клиентскую библиотеку и опцию curl. До сих пор я мог отправлять электронные письма напрямую с опцией addTo без проблем. Но когда я пытаюсь добавить параметры Cc или Bcc, электронное письмо все равно отправляется, но копии никогда не доставляются. Есть ли известные проблемы с версией php? В другом проекте библиотека Java работает просто отлично.
Вот простой кусок кода, я пытаюсь заставить его работать
<?php
require ('sendgrid/sendgrid-php.php');
$sendgrid = new SendGrid('user', 'pwd');
$mail = new SendGrid\Email();
$mail ->addTo("mymail@gmail.com");
$mail ->addCc("other@otherserver.com");
$mail ->setFrom("sender@server.com");
$mail ->setSubject("TEST");
$mail->setHtml("<h1>Example</h1>");
$sendgrid->send($mail);
?>
2 ответа
Решение
В документации, похоже, нет метода addCc. Вы можете попробовать эти альтернативы.
$mail = new SendGrid\Email();
$mail->addTo('foo@bar.com')->
addTo('someotheraddress@bar.com')->
addTo('another@another.com');
или же
$mail = new SendGrid\Email();
$mail->addBcc('foo@bar.com');
$sendgrid->send($mail);
Find script with CC and BCC
$email = new \SendGrid\Mail\Mail();
$email->setFrom("test@example.com", "Example User");
$email->setSubject("Sending with Twilio SendGrid is Fun");
$email->addTo("test@example.com", "Example User");
$email->addCc("test@example.com", "Example User");
$email->addBcc("test@example.com", "Example User");
$email->addContent("text/plain", "and easy to do anywhere, even with PHP");
$email->addContent(
"text/html", "<strong>and easy to do anywhere, even with PHP</strong>"
);
$sendgrid = new \SendGrid(getenv('SENDGRID_API_KEY'));
try {
$response = $sendgrid->send($email);
print $response->statusCode() . "\n";
print_r($response->headers());
print $response->body() . "\n";
} catch (Exception $e) {
echo 'Caught exception: '. $e->getMessage() ."\n";
}