如何使用 Laravel 10 的 Mail 界面添加标头

问题描述 投票:0回答:1

我使用下面的代码首先设置 smtp 配置,然后尝试将邮件发送到需要设置一些标头的位置。但我无法做到。请查看我的代码并帮助我实现我的目标。这是我的代码。

$stmp = [
            'mail.mailers' => ['user_stmp' => [
                'transport' => 'smtp',
                'host' => $sender_info->smtp_host_name,
                'port' => $sender_info->smtp_port,
                'encryption' => $sender_info->smtp_port == '465' ? 'ssl' : 'tls',
                'username' => $sender_info->smtp_user_name,
                'password' => $sender_info->smtp_password,
                'from' =>
                    [
                        //FIXME TWO BOTTOM LINES MUST BE GIVEN A DO OVER PROBABLY
                        'address' => $sender_email,
                        'name' => $sender_name,
                    ],
            ]]
        ];
        config()->set($stmp);
        Mail::mailer('user_stmp')->send('emails.reply', [
            'from' => $sender_email,
            'body' => $request->body,
        ], function ($m) use ($sender_email, $sender_name, $request,$reply) {
            $m->from($sender_email, $sender_name);
            $m->to($request->to_mail)->subject($request->subject);
            if ($request->cc)
            {
                $m->cc($request->cc);
            }
            if ($request->bcc)
            {
                $m->bcc($request->bcc);
            }

            /*$m->getHeaders()
                ->addTextHeader('Message-ID', $reply->message_id)
                ->addTextHeader('In-Reply-To', $reply->in_reply_to)
                ->addTextHeader('References', $reply->refs);*/
            $m->withSwiftMessage(function ($message) use ($reply) {
                $headers = $message->getHeaders();
                $headers->addTextHeader('Message-ID', $reply->message_id);
                $headers->addTextHeader('In-Reply-To', $reply->in_reply_to);
                $headers->addTextHeader('References', $reply->refs);
            });
        });

现在我收到以下错误

"Call to undefined method Illuminate\\Mail\\Message::withSwiftMessage()"
php email header laravel-10
1个回答
0
投票

withSwiftMessage() 在 Laravel 9 中已重命名为 withSymfonyMessage()。

https://laravel.com/docs/9.x/upgrade#symfony-mailer

© www.soinside.com 2019 - 2024. All rights reserved.