[英]change laravel 5.4 text mail content-type to text/plain
我正在使用laravel發送排隊的文本郵件:
UploadController.php的一部分:
public function postDelete(Request $request)
{
$upload = Upload::where('filename',$request->filename)->where('accepted',0)->delete();
$this->image->deleteFromUploadFolder($request->filename);
Cache::forget('waiting_uploads');
$msg = 'upload has been deleted';
Mail::to('aaaaa@bbbbbb.de')->queue(new TextMail($msg));
return redirect('upload');
}
可郵寄(TextMail.php):
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class TextMail extends Mailable
{
use Queueable, SerializesModels;
protected $msg;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($msg)
{
$this->msg = $msg;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->text('emails.empty')
->subject($this->msg)
->with('msg',$this->msg);
}
}
視圖empty.blade.php
應該只顯示以下消息:
{{ $msg }}
但是neomutt接收到text / html內容:
[-- text/html wird nicht unterstützt ('v' benutzen, um diesen Teil anzuzeigen) --]
雷鳥也顯示text / html而不是純文本:
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
我該怎么辦才能收到郵件,以便Neomutt不會抱怨? 當使用Mail::send()
我得到text/plain
但沒有使用Mail::queue()
。
好的,從邏輯上講。 Laravel
使用SwiftMailer
。 嘗試這樣(暫時無法檢查):
Mail::send('emails.empty', ['msg'=>$msg], function ($message) {
$message->to(....)
->subject(....)
->getSwiftMessage()
->getHeaders()
->setContentType('text/plain');
});
說明:在回調$message
有方法getSwiftMessage
(請參閱... / Illuminate / Mail / Message.php )。 通過對象SwiftMessage
我們可以通過SwiftMailer's
指定類訪問getHeaders
和setContentType
(請參見../swiftmailer/source-class-Swift_Mime_SimpleMimeEntity )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.