Rumah pembangunan bahagian belakang tutorial php Ketahui cara melaksanakan fungsi pengurusan kumpulan penghantaran e-mel dalam laman web melalui PHP dan PHPMAILER

Ketahui cara melaksanakan fungsi pengurusan kumpulan penghantaran e-mel dalam laman web melalui PHP dan PHPMAILER

Jul 21, 2023 pm 06:21 PM
php Menghantar e-mel phpmailer Pengurusan kumpulan

Ketahui cara melaksanakan fungsi pengurusan kumpulan penghantaran e-mel dalam laman web melalui PHP dan PHPMAILER

Dengan perkembangan Internet, e-mel telah menjadi cara utama untuk orang ramai berkomunikasi. Selepas melengkapkan pembangunan laman web, kami mungkin perlu melaksanakan fungsi penghantaran e-mel dalam laman web untuk menghantar pelbagai pemberitahuan, maklumat promosi, dsb. kepada pengguna.

Artikel ini akan menggunakan PHP dan PHPMAILER untuk mempelajari cara melaksanakan fungsi pengurusan kumpulan penghantaran e-mel dalam laman web. Fungsi pengurusan kumpulan boleh membahagikan pengguna kepada kumpulan yang berbeza, menjadikannya lebih mudah untuk kami menghantar e-mel mengikut kumpulan.

Pertama, kita perlu menyediakan jadual pangkalan data untuk menyimpan maklumat pengguna dan maklumat kumpulan. Andaikan bahawa kita telah mencipta jadual bernama users Struktur jadual adalah seperti berikut: users的表,表结构如下:

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `group_id` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Salin selepas log masuk

其中,group_id字段用于表示用户所属的组别。

接下来,我们需要编写PHP代码来实现邮件发送的功能。首先,我们需要引入PHPMailer库,可以通过在项目中添加phpmailer/phpmailer依赖来安装。

composer require phpmailer/phpmailer
Salin selepas log masuk

然后,我们可以创建一个名为mail.php的文件,并编写如下代码:

<?php
require 'vendor/autoload.php';

// 获取所有分组
function getAllGroups($pdo) {
  $stmt = $pdo->prepare("SELECT * FROM `groups`");
  $stmt->execute();

  return $stmt->fetchAll();
}

// 获取指定分组的所有用户
function getUsersByGroup($pdo, $groupId) {
  $stmt = $pdo->prepare("SELECT * FROM `users` WHERE `group_id` = ?");
  $stmt->execute([$groupId]);

  return $stmt->fetchAll();
}

// 发送邮件
function sendEmail($sender, $receiver, $subject, $content) {
  $mail = new PHPMailerPHPMailerPHPMailer();
  
  $mail->CharSet = 'UTF-8';
  $mail->isSMTP();
  $mail->SMTPDebug  = 0;
  $mail->Host       = 'smtp.gmail.com'; // 邮件服务器地址
  $mail->SMTPAuth   = true;
  $mail->Username   = 'your-email@gmail.com'; // 发件人邮箱地址
  $mail->Password   = 'your-email-password'; // 发件人邮箱密码
  $mail->SMTPSecure = 'ssl';
  $mail->Port       = 465;

  $mail->setFrom($sender); // 发件人邮箱地址
  $mail->addAddress($receiver); // 收件人邮箱地址
  $mail->isHTML(true);
  $mail->Subject = $subject;
  $mail->Body    = $content;

  return $mail->send();
}

// 发送分组邮件
function sendGroupEmail($groupId, $subject, $content) {
  global $pdo;

  $users = getUsersByGroup($pdo, $groupId);
  
  foreach ($users as $user) {
    $receiver = $user['email'];
    sendEmail('your-email@gmail.com', $receiver, $subject, $content);
  }
}

// 测试发送邮件
function testSendEmail() {
  sendEmail('your-email@gmail.com', 'receiver-email@gmail.com', '测试邮件', '这是一封测试邮件。');
}

// 测试发送分组邮件
function testSendGroupEmail() {
  sendGroupEmail(1, '测试分组邮件', '这是一封测试分组邮件。');
}

// 测试代码
testSendEmail();
testSendGroupEmail();
Salin selepas log masuk

以上代码中,我们定义了一些函数来实现发送邮件的功能。getAllGroups()函数用于获取所有分组的信息,getUsersByGroup()函数用于获取指定分组的所有用户,sendEmail()函数用于发送邮件,sendGroupEmail()函数用于发送分组邮件。

在测试代码部分我们定义了两个测试函数testSendEmail()testSendGroupEmail()rrreee

Antaranya, medan group_id digunakan untuk mewakili kumpulan yang digunakan oleh pengguna. kepunyaan.

Seterusnya, kita perlu menulis kod PHP untuk melaksanakan fungsi penghantaran e-mel. Mula-mula, kita perlu memperkenalkan perpustakaan PHPMailer, yang boleh dipasang dengan menambahkan pergantungan phpmailer/phpmailer pada projek.

rrreee

Kemudian, kita boleh mencipta fail bernama mail.php dan menulis kod berikut:

rrreee

Dalam kod di atas, kami telah menentukan beberapa fungsi untuk melaksanakan fungsi menghantar e-mel. Fungsi getAllGroups() digunakan untuk mendapatkan maklumat semua kumpulan, fungsi getUsersByGroup() digunakan untuk mendapatkan semua pengguna kumpulan yang ditentukan dan fungsi sendEmail() Digunakan untuk menghantar e-mel, fungsi sendGroupEmail() digunakan untuk menghantar e-mel kumpulan. 🎜🎜Dalam bahagian kod ujian, kami menentukan dua fungsi ujian testSendEmail() dan testSendGroupEmail(), yang digunakan untuk menguji fungsi menghantar e-mel dan menghantar e-mel kumpulan. 🎜🎜Dalam penggunaan sebenar, anda perlu menukar alamat e-mel dan kata laluan penghantar dalam kod kepada maklumat anda sendiri, dan melaraskan parameter lain mengikut keperluan anda, seperti alamat pelayan e-mel, port, dsb. 🎜🎜Dengan kod di atas, kami boleh melaksanakan pengurusan kumpulan pengguna di laman web, dan melaksanakan fungsi menghantar e-mel melalui PHP dan PHPMAILER. Anda boleh menambah baik kod mengikut keperluan sebenar, seperti menambah antara muka pengurusan pengguna untuk pengurusan pengguna dan kumpulan yang mudah. 🎜🎜Ringkasnya, dengan mempelajari PHP dan PHPMAILER, kita boleh dengan mudah melaksanakan fungsi pengurusan kumpulan menghantar e-mel dalam laman web. Ini adalah bahagian penting dari banyak laman web. Semoga artikel ini dapat membantu anda. 🎜

Atas ialah kandungan terperinci Ketahui cara melaksanakan fungsi pengurusan kumpulan penghantaran e-mel dalam laman web melalui PHP dan PHPMAILER. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

See all articles