PHP gửi thư đến nhiều người nhận từ cơ sở dữ liệu

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

Làm cách nào để gửi nhiều email bằng PHPMailer?

phpmailer. php']; . com'; . $ email->send[]] { echo "Lỗi Mailer. "

Làm cách nào để gửi thư SMTP trong PHP?

Viết mã PHP để gửi email bằng Gmail SMTP .
Bước 1. Tải xuống thư viện PHPMailer từ liên kết github này. .
Bước 2. Viết mã PHP để tạo kết nối SMTP. .
Bước 3. Bao gồm các gói và tệp cho giao thức PHPMailer và SMTP. .
Bước 4. Khởi tạo PHP Mailer và đặt SMTP làm giao thức gửi thư

Làm cách nào để gửi email CC và BCC trong PHP?

= "CC. cc@gmail. com\r\n"; $người nhận. = "BCC. bcc@gmail. com\r\n"; $subject = "Mẫu Liên hệ"; $mailheader = "Từ. $email \r\n"; mail[$recipient, $subject, $formcontent, $mailheader] hoặc die["Lỗi. "]; tiếng vang "Cảm ơn bạn. "

Cách tốt nhất để gửi email cho nhiều người nhận là gì?

Gửi cho nhiều người nhận bằng cách sử dụng phương thức BCC trong Gmail. Có lẽ phương pháp đơn giản nhất để làm điều này là phương pháp BCC. Điều này hoạt động bằng cách gửi email đến một người nhận duy nhất, thậm chí thường là cho chính bạn và thêm mọi người nhận dự định của email dưới dạng BCC.

Chủ Đề