如何将sendgrid电子邮件模板ID传递给邮件发送功能?

时间:2016-06-28 02:57:37

标签: laravel-5 sendgrid email-templates

我看到很多帖子在那里解释使用sendgrid发送带模板的电子邮件。 但我在第三方sendgrid服务器中的电子邮件模板不在我的项目文件夹中。 只有模板ID与我同在。 我正在使用this包,我的电子邮件发送功能就像在自述文件中解释一样。

\Mail::send('view', $data, function (Message $message) {
$message
    ->to('foo@example.com', 'foo_name')
    ->from('bar@example.com', 'bar_name')
    ->embedData([
        'category' => 'user_group1',
        'unique_args' => [
            'user_id' => 123
        ]
    ], 'sendgrid/x-smtpapi');
});

当我在我的视图文件夹变量中传递视图时,查看'它运作良好。 但我的问题是如何在sendgrid中传递模板ID并从我的代码中使用该模板?

或者使用Laravel的sendgrid模板的任何其他方式? 请建议是否有比这更好的其他图书馆。

请帮忙。

3 个答案:

答案 0 :(得分:3)

在对如何做到这一点的大量研究之后,我为laravel 5.3创建了自己的类(包括通知)。

这是班级

sudo apt-get install python3-pip
sudo pip3 install numpy==1.11.1

希望它有助于其他人

答案 1 :(得分:2)

您只需按照文档:https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html

您可以在嵌入数据中指定template_id:

Mail::send('emails.share', ['content' => 'foo'], function (Message $message) {
        $message
            ->subject('Test')
            ->to('me@jakubkratina.cz', 'foo_name')
            ->from('bar@example.com', 'bar_name')
            ->embedData([
                'custom_args' => [
                    'user_id' => "123" // Make sure this is a string value
                ],
                'template_id' => 'your-template-id'
            ], 'sendgrid/x-smtpapi');
    });

如此简单: - )

编辑: 您观看的内容将传递到<%body%>模板编辑器中的变量。

答案 2 :(得分:0)

只是花了一些时间来解决这个问题并让它发挥作用..

确保使用“sendgrid / sendgrid”:“> = 5.0.1”,

可以找到使用模板的示例代码here