Ped*_*sel 3 php email laravel laravel-5
为 Laravel 的邮件功能创建可选的消息部分?
例如添加附件或密件抄送。
Mail::send('emails.welcome', $data, function($message)
{
$message->from('us@example.com', 'Laravel');
$message->to('foo@example.com')->cc('bar@example.com');
$message->attach($pathToFile); <========= OPTIONAL =========
});
Run Code Online (Sandbox Code Playgroud)
我真的想避免像这样丑陋的代码
if (isset($data['attachment'])) {
// Attachment
Mail::queue('emails.raw', ['content' => $content], function($message) use ($data) {
$message
->subject($data['subject'])
->attach($data['attachment'])
->to($data['email'])
->bcc($data['bcc']);
});
}
else{
// No attachment
Mail::queue('emails.raw', ['content' => $content], function($message) use ($data) {
$message
->subject($data['subject'])
->to($data['email'])
->bcc($data['bcc']);
});
}
Run Code Online (Sandbox Code Playgroud)
您可以将 if 条件移动到闭包中:
Mail::queue('emails.raw', ['content' => $content], function($message) use ($data) {
$message
->subject($data['subject'])
->to($data['email'])
->bcc($data['bcc']);
if (isset($data['attachment'])) {
$message->attach($data['attachment']);
}
});
Run Code Online (Sandbox Code Playgroud)
请注意,方法链只是语法糖。以上相当于:
Mail::queue('emails.raw', ['content' => $content], function($message) use ($data) {
$message->subject($data['subject']);
$message->to($data['email']);
$message->bcc($data['bcc']);
if (isset($data['attachment'])) {
$message->attach($data['attachment']);
}
});
Run Code Online (Sandbox Code Playgroud)
所以随心所欲地写吧。
| 归档时间: |
|
| 查看次数: |
1829 次 |
| 最近记录: |