- vừa được xem lúc

Cách Send Email to Multiple Users trong Laravel.

0 0 5

Người đăng: Gấu con

Theo Viblo Asia

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
_@.com
MAIL_PASSWORD=rrnnucvnqlbsl
MAIL_ENCRYPTION=tls
_@.com
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

<?php namespace App\Mail; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels; class UserEmail extends Mailable
{ use Queueable, SerializesModels; public $user; /** * Create a new message instance. * * @return void */ public function __construct($user) { $this->user = $user; } /** * Build the message. * * @return $this */ public function build() { 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

<?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\UserController; /*
|--------------------------------------------------------------------------
| 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

app\Http\Controllers\UserController.php

<?php namespace App\Http\Controllers; use Illuminate\Http\Request;
use App\Models\User;
use App\Mail\UserEmail;
use Mail; class UserController extends Controller
{ /** * Write code on Method * * @return response() */ public function sendEmail(Request $request) { $users = [ [ 'name' => 'gau con 1', 'email' => '_@.com', ], [ 'name' => 'gau con 2', 'email' => '_@.com', ], ]; foreach ($users as $key => $user) { Mail::to($user['email'])->send(new UserEmail($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 = ['_@.com','_@.com']; 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!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 334

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 417

- vừa được xem lúc

Sử dụng Swagger để xây dựng API documentation

Giới thiệu về Swagger. RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource.

0 0 1k

- vừa được xem lúc

Ví dụ CRUD với Laravel và Vuejs.

1. Cài đặt Laravel. composer create-project --prefer-dist laravel/laravel vuelaravelcrud. .

0 0 139

- vừa được xem lúc

Một số tips khi dùng laravel (Part 1)

1. Show database query in raw SQL format. DB::enableQueryLog(); // Bật tính năng query logging. DB::table('users')->get(); // Chạy truy vấn bạn muốn ghi log.

0 0 68

- vừa được xem lúc

Inertiajs - Xây dựng Single Page App không cần API

Tiêu đề là mình lấy từ trang chủ của https://inertiajs.com/ chứ không phải mình tự nghĩ ra đâu nhé :v. Lâu lâu rồi chưa động tới Laravel (dự án cuối cùng mình code là ở ver 5.8), thế nên một ngày đẹp trời lượn vào đọc docs ver 8.

0 0 227