Cách Send Email to Multiple Users trong Laravel.

Hello mọi người, trong bài viết này mình sẽ chia sẻ cách gửi một nội dụng email đến nhiều users trong cùng một lúc. Bạn có thể sử dụng demo trong bài viết này với các phiên bản laravel 6+ trở nên nhé, ở bài này mình sẽ demo ở laravel 8+. Để không mất

Hello mọi người,
trong bài viết này mình sẽ chia sẻ cách gửi một nội dụng email đến nhiều users trong cùng một lúc.
Bạn có thể sử dụng demo trong bài viết này với các phiên bản laravel 6+ trở nên nhé, ở bài này mình sẽ demo ở laravel 8+.
Để không mất thời gian, mình đi vào ví dụ luôn nhé

Step1: Config thông tin gửi mail trong file config

.env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=rrnnucvnqlbsl
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"

Step 2: Create Mail Class

Tiếp theo, chúng ta sẽ tạo UserEmail class bằng cách sử dụng lệnh laravel artistan và sau đó chúng ta sẽ định nghĩa view và subject.

php artisan make:mail UserEmail

app/Mail/UserEmail.php

<?phpnamespaceAppMail;useIlluminateBusQueueable;useIlluminateContractsQueueShouldQueue;useIlluminateMailMailable;useIlluminateQueueSerializesModels;classUserEmailextendsMailable{useQueueable, SerializesModels;public$user;/**
     * Create a new message instance.
     *
     * @return void
     */publicfunction__construct($user){$this->user=$user;}/**
     * Build the message.
     *
     * @return $this
     */publicfunctionbuild(){return$this->subject('Mail from Gau Con')->view('emails.userEmail');}}

Tiếp theo, chúng ta sẽ tạo file blade userEmail trong thư mục emails với code bên dưới.
resources/views/emails/userEmail.blade.php

<!DOCTYPE html><html><head><title>Gau Con</title></head><body><h1>Hi,{{$user['name']}}</h1><p>{{$user['email']}}</p><p>Thank you</p></body></html>

Step 3: Add Routes

routes/web.php

<?phpuseIlluminateSupportFacadesRoute;useAppHttpControllersUserController;/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/Route::get('users-send-email',[UserController::class,'sendEmail']);

Step 4: Create Controller

appHttpControllersUserController.php

<?phpnamespaceAppHttpControllers;useIlluminateHttpRequest;useAppModelsUser;useAppMailUserEmail;useMail;classUserControllerextendsController{/**
     * Write code on Method
     *
     * @return response()
     */publicfunctionsendEmail(Request$request){$users=[['name'=>'gau con 1','email'=>'[email protected]',],['name'=>'gau con 2','email'=>'[email protected]',],];foreach($usersas$key=>$user){Mail::to($user['email'])->send(newUserEmail($user));}dd('Send email successfully.');}}

Trong trường hợp bạn không muốn dùng vòng lặp foreach để gửi mail to users thì bạn hãy cập nhật như code bên dưới nhé.

    /**
     * Write code on Method
     *
     * @return response()
     */
    public function sendEmail(Request $request)
    {
        $users = ['[email protected]','[email protected]'];

        Mail::to($users)->send(new UserEmail());
        
        dd('Send email successfully.');
    }

Output:

Mình hy vọng bài viết này giúp ích cho các bạn!

Nguồn: viblo.asia

Bài viết liên quan

Tấn Công Ứng Dụng Web: Mối Đe Dọa Hàng Đầu – Phần 2

viết lại nội dung này ” Phát hiện các cuộc tấn công Cross Site Scripting (XSS)

AI Chatbot 2025: Xu Hướng Tất Yếu Cho Doanh Nghiệp Dẫn Đầu

Giới thiệu AI chatbots đã trải qua một hành trình đáng kể, từ những công cụ t

Tấn Công Ứng Dụng Web: Mối Đe Dọa Hàng Đầu – Phần 1

Tấn công web là gì? Ứng dụng web là các ứng dụng cung cấp dịch vụ cho người

SEO Mũ Trắng, Mũ Đen, Mũ Xám: Hiểu Biết và Lựa Chọn Phù Hợp

SEO Mũ Trắng, Mũ Đen, Mũ Xám: Hiểu Biết và Lựa Chọn Phù Hợp Trong kỷ nguyên s