Php 如何在laravel邮件中发送多个附件
我创建了两个单独的excel文件Php 如何在laravel邮件中发送多个附件,php,laravel,Php,Laravel,我创建了两个单独的excel文件$recent\u signup\u file,$ddr\u failed\u file,并附加到laravel mailer上 Mail::send('emails.weeklyreports', ['data' => $data], function($message) use ($recipient, $subject_date, $recent_signup_file, $ddr_failed_file) { $message->from
$recent\u signup\u file,$ddr\u failed\u file
,并附加到laravel mailer上
Mail::send('emails.weeklyreports', ['data' => $data], function($message) use ($recipient, $subject_date, $recent_signup_file, $ddr_failed_file) {
$message->from('support@whitebelt.co', 'Whitebelt.co Support');
$message->to($recipient)->subject('Weekly Report '.$subject_date);
$message->addAttachment($recent_signup_file->store("xlsx",false,true)['full']);
$message->addAttachment($ddr_failed_file->store("xlsx",false,true)['full']);
});
但它给了我重复的excel文件,这是正确的还是我错过了什么,有人能帮我吗
如何使用它?您使用的是哪种版本的Laravel?如果您使用的是Laravel 5.4+,则应该使用可邮寄的,如下所示:
Mail::to($recipient)->send(new WeeklyReport($data));
class WeeklyReport extends Mailable
{
use Queueable, SerializesModels;
public $data;
public function __construct($data)
{
$this->data = $data;
}
public function build()
{
return $this->view('emails.weeklyreports', $this->data)
->from('support@whitebelt.co', 'Whitebelt.co Support')
->attach($this->data['recent_signup_file']->store("xlsx",false,true)['full'])
->attach($this->data['ddr_failed_file']->store("xlsx",false,true)['full']);
}
}
在WeeklyReport邮件中,您可以附加文件并将数据数组传递给视图,如下所示:
Mail::to($recipient)->send(new WeeklyReport($data));
class WeeklyReport extends Mailable
{
use Queueable, SerializesModels;
public $data;
public function __construct($data)
{
$this->data = $data;
}
public function build()
{
return $this->view('emails.weeklyreports', $this->data)
->from('support@whitebelt.co', 'Whitebelt.co Support')
->attach($this->data['recent_signup_file']->store("xlsx",false,true)['full'])
->attach($this->data['ddr_failed_file']->store("xlsx",false,true)['full']);
}
}
请参阅Laravel文档
所有这些都假设您用于创建excel工作表的函数实际按预期工作。因为我们在这里没有看到该代码,所以我无法对其功能进行评论。但是以上是使用Laravel 5.4+附加文件的正确方法。我使用了任务调度-Laravel,每周发送带有附件的邮件,我也使用了Laravel 5.5尝试使用可邮寄的邮件,如我的回答中所示。您的代码没有遵循Laravel 5.5邮件外观的Laravel文档。我已经用上面显示的方法发送了许多带有多个附件的电子邮件,并且没有任何问题。同样,这假设生成文件的代码没有错误,我不能保证不看到它。