我面对的问题是我自己无法解决。也许有人可以帮助我。将不胜感激。 因此,我需要根据存储在数据库中的用户条件发送计划的电子邮件。 例如,用户的选择: 1.每1,2,3 ...>小时/天/月,在12.00 / 13.00 / 14.00 ...>发送带有数据库记录的电子邮件。 2.如果用户(立即)选择了频率,则邮件将立即发送,如果推迟->仅检查上次发送的电子邮件。 在运行命令php artisan schedule:run后,发送邮件,但是我不知道可以使用哪种逻辑来添加所需的所有条件,以及该将逻辑放在何处。而且不确定是否有可能。 谢谢!
我现在的结构:
class Kernel extends ConsoleKernel
protected function schedule(Schedule $schedule){
$schedule->call(function()
Mail::to(‘mymail@gmail.com')->send(new SendEmailMailable());}
namespace App\Mail;
class SendEmailMailable extends Mailable
use Queueable, SerializesModels;
public function build()
{
$data = [
'type' => request()->type,
'type2' => Setting::all()->pluck('type')->last(),
'from' => request()->from,
'from2' => Setting::all()->pluck('from')->last(),
'to' => request()->to,
'to2' => Setting::all()->pluck('to')->last(),
'subject' => request()->subject,
'subject2' =>Setting::all()->pluck('subject')->last(),
'header' => request()->message_header,
'header2' => Setting::all()->pluck('message_header')->last(),
'errors' => request()->errors,
'errors2' => Setting::all()->pluck('errors')->last(),
'footer' => request()->message_footer,
'footer2' => Setting::all()->pluck('message_footer')->last(),
];
if(Setting::all()->where('frequence','=','direct')->latest()->first()) {
return $this->view('mail.mail',$data);
}
else{
die;
}}}
namespace App\Jobs;
class SendEmail implements ShouldQueue
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function handle()
{
Mail::to(‘mymail@gmail.com')->send(new SendEmailMailable());
}