gpt4 book ai didi

laravel - SMTP:更改从 Laravel 5.7 (Swift Mailer) 发送电子邮件时的 Message-ID 域

转载 作者:行者123 更新时间:2023-12-02 14:32:24 25 4
gpt4 key购买 nike

Laravel 5.7 使用 Swift Mailer 发送电子邮件。

默认情况下,所有发送的电子邮件都会有 Message-ID带有域 swift.generated 的 header (例如Message-ID: <90b9835f38bb441bea134d3ac815dd6f@swift.generated>)。

我想更改域名 swift.generated例如my-domain.com .

如何更改所有电子邮件的设置?

最佳答案

  1. 编辑文件 config/mail.php 并在末尾处定义您的域:
    'domain' => 'yourdomain.com',
  • 在命令行中,创建一个新的监听器:
  •     php artisan make:listener -e 'Illuminate\Mail\Events\MessageSending' MessageSendingListener
  • 编辑新创建的监听器并使其如下所示(不要实现 ShouldQueue):
  •     <?php
    /**
    * Set the domain part in the message-id generated by Swift Mailer
    */

    namespace App\Listeners;

    use Illuminate\Mail\Events\MessageSending;
    use Swift_Mime_IdGenerator;

    class MessageSendingListener
    {
    /**
    * Create the event listener.
    *
    * @return void
    */
    public function __construct()
    {
    //
    }

    /**
    * Handle the event.
    *
    * @param MessageSending $event
    * @return void
    */
    public function handle(MessageSending $event)
    {
    $event->message->setId((new Swift_Mime_IdGenerator(config('mail.domain')))->generateId());
    }
    }
  • 在 app/Providers/EventServiceProvider 中注册监听器:
  •         protected $listen = [

    // [...]

    \Illuminate\Mail\Events\MessageSending::class => [
    \App\Listeners\MessageSendingListener::class,
    ],
    ];

    就是这样,享受吧! :)

    关于laravel - SMTP:更改从 Laravel 5.7 (Swift Mailer) 发送电子邮件时的 Message-ID 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55886236/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com