Laravel邮件发送附加错误的编码

时间:2017-07-05 11:34:15

标签: laravel laravel-5.3

我发送了一个csv附件文件,但当有人打开电子邮件时,laravel会使用错误的编码发送csv。

在我的情况下,因为是葡萄牙语,csv文件有特殊的字符,如ã,ç,ão。 €,..

示例代码: ```

class MailCron extends Mailable
{
    use Queueable, SerializesModels;

    public $csv;


    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($csv)
    {
        $this->csv = $csv;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {

        return $this->from('info@domain.com')
            ->view('mail.leads')
            ->attach($this->csv->store("csv",false,true)['full']);

    }
}

1 个答案:

答案 0 :(得分:0)

这应该在邮件中设置标题:

public function build()
{
    $this->withSwiftMessage(function (\Swift_Message $message) {
        $message->getHeaders()
            ->addTextHeader('Content-Type', 'text/plain; charset=utf-8');
    });

    return $this->from('info@domain.com')
        ->view('mail.leads')
        ->attach($this->csv->store("csv",false,true)['full']);
}

请务必查看标题 text / plain text / html