这封来自 SendGrid 的电子邮件在 PHP API 中指的是什么?

What does this email from SendGrid is refering to in PHP API?

几天前,我们收到了一封来自 sendgrid 的电子邮件,说他们将改变 API 中的一些行为,我已经进行了研究,但目前还没有具体找到他们指的是什么我们正在使用 PHP API,至少 2) 我认为我们可以使用 SendGrid 类 来构建电子邮件

Check your code that uses the mail send endpoint and ensure that the “enable” parameter is included under the filter when applicable.

What do you need to do?

To avoid disruption to your mail send service, please be sure to make the following actions before August 10, 2021

  1. Check your code that uses the mail send endpoint and ensure that the “enable” parameter is included under the filter when applicable.

  2. Check your mail send header to ensure that you are using just one X-SMTPAPI header and address header of the same kind. Remove multiple headers of the same kind, so you have only 1 header of the same kind. For example, if you are currently using multiple “from” headers, you should modify your code so that you have a single “from” header.

  3. Check your code to ensure that you are not applying any personalization block substitution to your custom argument fields.

但是第三项呢?我们有以下时尚的替代品:$mail->personalization[0]->addSubstitution('%url%', $link); 但我还没有发现任何类似“自定义参数中的块替代”的东西

第一项也让我担心,我也没有发现类似的东西,所以我担心 PHP API 可能在幕后做了一些事情。

这是我们使用的代码示例。

$sendgrid = new SendGrid(env('SENDGRID_APIKEY'));
$from_m = new SendGrid\Email(null, $from);
$to_m = new SendGrid\Email(null, $from);
$content = new SendGrid\Content("text/html", $body);
$mail = new SendGrid\Mail($from_m, '.', $to_m, $content);
$mail->personalization[0]->addBcc($tos);
$mail->personalization[0]->setSubject($subject);
$mail->personalization[0]->addSubstitution('%MemberName%', $name);
$mail->personalization[0]->addSubstitution('%url%', $hash_url);
$mail->setTemplateId($template_id);
$sendgrid->client->mail()->send()->post($mail);

我们正在使用 sendgrid/sendgrid:~6.2

此处为 Twilio SendGrid 开发人员布道师。

根据我对您的代码和发送给您的指南的阅读,您应该没问题。

  1. 您似乎没有使用任何需要通过 API 启用的功能,尽管您可以 check all the mail_settings and tracking_settings in the API reference here.

  2. 当您使用库并调用 API 时,您似乎没有发送任何额外的 headers.

  3. 您似乎没有使用任何自定义参数,因此您没有对它们应用任何替换。

我确实建议您将 PHP 帮助程序库从版本 6 升级到版本 7。这将确保底层库也以最新的方式使用 API。