首页 文章

如何使用Laravel&Mailgun批量发送电子邮件

提问于
浏览
0

我的任务是向我网站的用户发送电子邮件 .

我想收集我网站所有用户的电子邮件,并向他们发送一条消息,即批量电子邮件 .

我正在使用mailgun服务在用户注册我的网站时发送确认电子邮件 . 下面是我正在使用的一些代码的示例 .

我想知道我是否可以使用类似的代码发送批量电子邮件 .

public function sendEmail($sub)
{
    $user = $this;
    Mail::send('mail.confirm',['user' => $user, $sub => $sub], function($mail) use ($user,$sub) {
     $mail->from('website@gmail.com', 'Website');
     $mail->to($user->email, $user->name)->subject($sub . ' Confirm Website Email');
    });
}

有任何想法吗?

1 回答

  • 0

    我建议你为这些东西使用队列

    制作如下的队列文件

    class SendEmail extends Job implements ShouldQueue
    {
        use InteractsWithQueue, SerializesModels;
        public  $data , $email;
    
        /**
         * Create a new job instance.
         *
         * @return void
         */
        public function __construct($data,$email)
        {
            $this->data=$data;
            $this->email=$email;
        }
    
        /**
         * Execute the job.
         *
         * @return void
         */
        public function handle()
        {
    
            Mail::send('mail.confirm', [
                        'title' => $this->data['body'] ,
                        'body' => $this->data['body'],
                        ,
                    ], function ($message) {
                        $message->from('no-reply@testmail.com', 'Test Notification');
                        $message->to($this->email)->subject($this->data['subject']));
                    }
                    );
    
    
        }
    
    }
    

    从控制器调用它

    use App\Jobs\SendEmail;
    class EmailController extends Controller {
    
        public function send() {
            $data = array
                (
                'title' => 'title',
                'body' => 'body',
                'subject' => 'subject'
            );
    
            $emails=array("email1@email.com","email2@email.com")
            foreach($emails as $val){
                $this->dispatch(new SendAlertEmail($data, $val));
            }
    
    
    }
    

    请检查https://laravel.com/docs/5.4/queueshttps://scotch.io/tutorials/why-laravel-queues-are-awesome

相关问题