Trong ví dụ này, bạn sẽ học cách gửi email cho nhiều người dùng trong laravel. Chúng ta sẽ xem xét một ví dụ về laravel gửi email cho nhiều người dùng. Chúng tôi sẽ sử dụng laravel gửi email cho tất cả người dùng. Hướng dẫn này sẽ cung cấp cho bạn một ví dụ đơn giản về laravel gửi thư đến nhiều người nhận từ cơ sở dữ liệu
Hôm nay, tôi sẽ cung cấp cho bạn hướng dẫn từng bước về cách gửi email cho nhiều người dùng được chọn trong laravel. bạn có thể sử dụng ví dụ này với phiên bản laravel 6, laravel 7, laravel 8 và laravel 9
Bạn có thể xem bản xem trước của ví dụ dưới đây và làm theo bước dưới đây để gửi thư cho nhiều người dùng trong ứng dụng laravel
Xem trước
Hãy làm theo các bước sau
Bước 1. Cài đặt Laravel
Bước này không bắt buộc;
composer create-project --prefer-dist laravel/laravel blog
Bước 2. Tạo cấu hình thư
Bước này là bắt buộc. bạn phải thiết lập cấu hình email người gửi với trình điều khiển, máy chủ, bài đăng, tên người dùng và email, v.v. vì vậy hãy thêm cấu hình sau vào. tập tin env
env
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=mygoogle@gmail.com
MAIL_PASSWORD=rrnnucvnqlbsl
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=mygoogle@gmail.com
MAIL_FROM_NAME="${APP_NAME}"
Bước 3. Tạo lớp thư
Tiếp theo, chúng ta sẽ tạo lớp thư UserEmail đơn giản bằng cách sử dụng lệnh artisan của laravel và sau đó chúng ta sẽ xác định chế độ xem và chủ đề. Vì vậy, hãy tạo thư bằng lệnh dưới đây và đặt mã trên UserEmail. tập tin php
php artisan make:mail UserEmail
ứng dụng/Thư/Email người dùng. 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 ItSolutionStuff.com']
->view['emails.userEmail'];
}
}
Tiếp theo, chúng tôi sẽ tạo cuộc gọi tệp lưỡi email userEmail trong thư mục email với mã dưới đây. vì vậy chỉ cần cập nhật userEmail. lưỡi. tập tin php
tài nguyên/lượt xem/email/userEmail. lưỡi. php
ItsolutionStuff.com
Hi, {{ $user->name }}
{{ $user->email }}
Thank you
Bước 4. Thêm tuyến đường
Hơn nữa, mở các tuyến/web. php và thêm các tuyến để quản lý các yêu cầu GET và POST cho danh sách người dùng và phương thức gửi email
tuyến đường/web. 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', [UserController::class, 'index']]->name['users.index'];
Route::post['users-send-email', [UserController::class, 'sendEmail']]->name['ajax.send.email'];
Bước 5. Tạo bộ điều khiển
Trong bước này, chúng ta sẽ tạo một UserController mới;
Vì vậy, hãy cập nhật đoạn mã sau vào Tệp điều khiển
app\Http\Controllers\UserController. php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use App\Mail\UserEmail;
use Mail;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index[Request $request]
{
$users = User::select["*"]
->paginate[10];
return view['users', compact['users']];
}
/**
* Write code on Method
*
* @return response[]
*/
public function sendEmail[Request $request]
{
$users = User::whereIn["id", $request->ids]->get[];
foreach [$users as $key => $user] {
Mail::to[$user->email]->send[new UserEmail[$user]];
}
return response[]->json[['success'=>'Send email successfully.']];
}
}
bạn cũng có thể gửi email cho nhiều người nhận từ cơ sở dữ liệu cùng một lúc. như mã tùy chọn dưới đây. bạn cũng có thể xem nó
/**
* Write code on Method
*
* @return response[]
*/
public function sendEmail[Request $request]
{
$users = User::whereIn["id", $request->ids]->get[];
Mail::to[$users]->send[new UserEmail[]];
return response[]->json[['success'=>'Send email successfully.']];
}
Bước 6. Tạo Chế độ xem Blade
Trong bước này, chúng tôi sẽ chỉ tạo người dùng. tập tin lưỡi và cập nhật mã dưới đây
tài nguyên/lượt xem/người dùng. lưỡi. php
________số 8_______Chạy ứng dụng Laravel
Tất cả các bước cần thiết đã được thực hiện, bây giờ bạn phải nhập lệnh bên dưới và nhấn enter để chạy ứng dụng Laravel