Sendgrid动态模板PHP

Sendgrid动态模板PHP,php,api,sendgrid,Php,Api,Sendgrid,我想将Sendgrid动态模板实现到我所从事的项目中,接下来的问题是: 下面是一些有效的代码,我收到一封名为替换名的电子邮件- $content = new Content('text/html', '-forename- SOME TEXT'); $mail->addContent($content); $mail->setSubject("TEST"); $mail->addSubstitution('-forename-', 'SOME N

我想将Sendgrid动态模板实现到我所从事的项目中,接下来的问题是: 下面是一些有效的代码,我收到一封名为替换名的电子邮件-

    $content = new Content('text/html', '-forename- SOME TEXT');
    $mail->addContent($content);
    $mail->setSubject("TEST");
    $mail->addSubstitution('-forename-', 'SOME Name');
所以我的邮件正文看起来像“一些名字一些文字”

现在我有了下一段代码,它实际上使用了我创建的sengrid中的模板

        $mail->setTemplateId($template_id);
        $mail->addDynamicTemplateData("-forename-", 'SOME Name');
模板中的文本是下一个 “-名字-某些文本” 所以从理论上讲,如果模板Id是正确的,我应该在电子邮件中收到下一个正文“一些名字一些文字”,但我收到的是-名字-一些文字 我也试过了

$mail->addSubstitution('-forename-','SOME Name')

但结果是一样的

电子邮件发送成功,但变量未被替换

对不起,如果我犯了语法错误,希望我的问题有意义


谢谢

您可以通过以下方式添加动态模板数据:

$mail->addDynamicTemplateDatas( [
  'some_var'     => 'Some stuff',
  'template_data' => 'Data here'
] );
您使用的函数将只遍历模板的变量

希望我能帮助你