如何配置 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 协议》,转载必须注明作者和本文链接