我正在寻找一种根据配置设置发送或排队电子邮件的简洁方法。
现在,每次发送电子邮件时,我都必须做类似的事情
$mailContent = new AccountNotification($account);
$mailObject = Mail::to($email);
if(config('app.queueemail')){
$mailObject->queue($mailContent);
} else {
$mailObject->send($mailContent);
}
必须有一种更简单的方法来执行此操作,因此我不必每次发送电子邮件时都重复此代码。
答案 0 :(得分:2)
扩展@ceejayoz的注释,一种更简单的方法也可以是使用全局Helper函数。
例如,您可能拥有一个send_email()
全局函数,该函数将根据应用程序的配置发送/排队电子邮件。
if ( ! function_exists('send_email')) {
/**
* Sends or queues email
*
* @return mixed
*/
function send_email($mailer, $content)
{
return config('app.queueemail')
? $mailer->queue($content)
: $mailer->send($content);
}
}
要使用它,您可以这样做:
send_email($mailer, $content);