[英]Why does Laravel replace a tab by a “=09” string when sending mails?
我正在使用以下代碼在Laravel中發送郵件:
\Mail::send('emails.mailing', $data,
function ($message) use ($user) {
$message
->to($user->email, $user->first_name)
->subject('some nice subject');
});
emails / mailing.blade.php文件包含帶有許多選項卡的html,以使語法更好地進行編碼,但是,當我查看收到的電子郵件的來源時,所有選項卡都由“ = 09”字符串替換。
是什么原因造成的,我該如何解決?
編輯:一個imo好的解決方案是在發送郵件之前刪除所有標簽。 我該怎么做?
= 09是制表符的帶quoted-printable
編碼(請參閱RFC1521 。)Zach Alam 在他的博客中建議告訴它使用8位編碼器,而不是默認的(QP)編碼器:
$message->setEncoder(Swift_Encoding::get8BitEncoding());
在您的代碼上下文中,可以通過以下方式完成此操作:
\Mail::send('emails.mailing', $data,
function ($message) use ($user) {
$message
->setEncoder(Swift_Encoding::get8BitEncoding())
->to($user->email, $user->first_name)
->subject('some nice subject');
});
對於您的修改問題,您可以在發送郵件之前,從郵件中刪除所有標簽:
$message_in_your_emails_mailing_view = str_replace(chr(9), '', $message_in_your_emails_mailing_view);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.