繁体   English   中英

将laravel 5.4文本邮件内容类型更改为text / plain

[英]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指定类访问getHeaderssetContentType (请参见../swiftmailer/source-class-Swift_Mime_SimpleMimeEntity )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM