laravel框架使用队列发送带附件的邮件,发现400kb左右附件发送没有问题,600kb或以上的附件无法取到(邮件发送成功,但是邮件没有附件)。直接在controller里调用mail::send方法的话,所有邮件附件发送正常。
SendEmail.php
public function __construct($data)
{
$this->book_data = $data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
Mail::send('emails.test',['name'=>$this->book_data['book_name']],function($message) {
$message->to($this->book_data['to'])->subject($this->book_data['book_name']);
$book_gbk_name = iconv('UTF-8','GBK',$this->book_data['book_name']);
$message->attach($this->book_data['book_path'].'/'.$book_gbk_name,['as'=>$this->book_data['book_name']]);
});
}
Controller:
$job = (new SendEmail($data))->delay(60*5);
dispatch($job);
PHP artisan:work