關於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 協議》,轉載必須註明作者和本文連結