如何配置 No Reply 邮箱回复转发

关于laravel的邮件功能配置这里不多做赘述。

主要场景前提:用只能发件而不能收件的邮箱进行发送邮件时,有些客户可能并不知道该邮箱不能接收(或者说接收不到)邮件,会在收到邮件后直接回复此邮件,为了避免漏掉一些客户的回复信息,我们可以额外的增加一些邮件配置。

直接回到框架,查看

\Illuminate\Mail\Mailable::class

源码,在该源码中我们可以清楚看到:

/**
 * The "reply to" recipients of the message.
 *
 * @var array
 */
public $replyTo = [];

/**
 * Add all of the recipients to the message.
 *
 * @param  \Illuminate\Mail\Message $message
 * @return $this
 */
 protected function buildRecipients($message)
 {
     foreach (['to', 'cc', 'bcc', 'replyTo'] as $type) {
         foreach ($this->{$type} as $recipient) {
             $message->{$type}($recipient['address'], $recipient['name']);
         }
     }

     return $this;
 }

该基类中已经定义好了变量和具体的实现方法。

此时我们只需进行邮件基类继承重写实现即可:

class BaseMail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->replyTo = [config('mail.reply_to')];
    }

}

\config\mail.php:配置文件中增加:


    'reply_to' => [
        'address' => env('MAIL_REPLY_TO', 'example@laravel.com'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],

这样客户在收到封邮件后,在该封邮件中点击回复的时候,回复的邮箱就会变成我们设置的这个 reply_to.address 邮箱,而不是我们的发件邮箱。

–end–

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!