1

我在使用 SendGrid 发送电子邮件时遇到了一个问题。我正在发送带有取消订阅地面 ID 的普通电子邮件。并且在发送电子邮件时会得到两个链接Unsubscribe From This ListManage Email Preferences. 现在我的要求是我想将这些链接文本从

  1. 取消订阅此列表 => 取消订阅
  2. 管理电子邮件首选项 => 更新首选项

并且链接也不会出现在电子邮件的底部。我想要这些在页脚文本之后。

我没有使用营销电子邮件。以下是我收到的一封电子邮件屏幕截图:- 在此处输入图像描述

下面是发送电子邮件的代码。我正在使用 Laravel 发送电子邮件:-

public function sendMail()
{
    $status = \Mail::send('emails.demo', ['name' => "testdata"], function($message)
    {
        $args = [
            'asm_group_id' => 3169

        ];
        $message->getHeaders()->addTextHeader('X-SMTPAPI', json_encode($args));
       $message->to('test@gmail.com', 'Test User')->subject('This is a demo!');
    });
}

如果有人知道我该如何实现这一点,请建议我。

4

1 回答 1

1

检查这个包。https://github.com/s-ichikawa/laravel-sendgrid-driver

这是上述包的正确格式:

$send = \Mail::send('emails.tests.tests', compact([]),
        function (Message $message) use (
            $subject, $from_email, $from_name, $to_emails, $to_name ) {
            $message->subject($subject)
                //->attach($pathToFile)
                //->to($to_emails)
                ->to($to_emails, $to_name)
                //->cc($cc_email)
                ->from($from_email, $from_name)
                ->embedData([
                    'asm' => ['group_id' => 123],
                ],
                    'sendgrid/x-smtpapi');
        });

如果你不使用这个包,那么

        $status = Mail::send('emails.test', compact('data_var'), function($message)
    {
        $args = [
            'asm_group_id' => 123

        ];

        $message->from('testfrom@gmail.com','from name');
        $message->getHeaders()->addTextHeader('X-SMTPAPI', json_encode($args));
        $message->to('testto@gmail.com', 'Test User')
            ->subject('This is a demo!');
    });
于 2018-07-11T18:54:46.120 回答