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

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

Jul 22, 2023 am 10:07 AM
php phpmailer Pengurusan senarai hitam e-mel

Ketahui cara melaksanakan fungsi pengurusan senarai hitam untuk penghantaran e-mel dalam laman web melalui PHP dan PHPMailer

Sebagai pembangun laman web, anda mungkin sering perlu melaksanakan fungsi penghantaran e-mel dalam laman web. Menghantar e-mel ialah cara penting untuk komunikasi antara pengguna laman web dan tapak web. Walau bagaimanapun, kadangkala kami mungkin perlu menyekat pengguna atau alamat e-mel tertentu daripada menghantar e-mel ke tapak kami.

Untuk mencapai fungsi ini, kami boleh menggunakan PHP dan PHPMailer untuk mengurus senarai hitam dan menambah pengguna atau alamat e-mel tertentu ke senarai hitam untuk mengehadkan kebenaran mereka menghantar e-mel. Dalam artikel ini, kita akan belajar cara melaksanakan fungsi pengurusan senarai hitam menggunakan PHP dan PHPMailer.

Pertama, kita perlu membuat senarai hitam untuk menyimpan pengguna atau alamat e-mel yang dihadkan daripada menghantar e-mel. Kita boleh menggunakan jadual pangkalan data untuk menyimpan senarai senarai hitam ini, yang mengandungi medan seperti ID senarai hitam, pengguna atau alamat e-mel dan masa ditambah pada senarai hitam. Berikut ialah contoh pernyataan SQL untuk membuat senarai senarai hitam:

CREATE TABLE blacklist (
    id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(255) NOT NULL,
    added_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Salin selepas log masuk

Seterusnya, kami akan menggunakan PHP untuk menyambung ke pangkalan data dan menulis fungsi yang sepadan untuk menambah, memadam dan menyemak pengguna atau alamat e-mel dalam senarai hitam. Pertama, kita perlu menyambung ke pangkalan data, anda boleh menggunakan kod berikut:

<?php
$servername = "localhost";
$username = "root";
$password = "your_password";
$dbname = "your_database";

// 创建数据库连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
    die("数据库连接失败:" . $conn->connect_error);
}
?>
Salin selepas log masuk

Seterusnya, kita boleh menulis fungsi untuk menambah pengguna atau alamat e-mel ke senarai hitam. Berikut ialah contoh fungsi:

function addToBlackList($email)
{
    // 全局变量$conn是数据库连接对象

    // 检查邮箱是否已经在黑名单中
    $sql = "SELECT id FROM blacklist WHERE email='$email'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // 邮箱已经在黑名单中
        return false;
    } else {
        // 将邮箱添加到黑名单
        $sql = "INSERT INTO blacklist (email) VALUES ('$email')";
        if ($conn->query($sql) === TRUE) {
            return true;
        } else {
            return false;
        }
    }
}
Salin selepas log masuk

Kami kemudian boleh menulis fungsi yang mengalih keluar pengguna atau alamat e-mel daripada senarai hitam. Berikut adalah contoh fungsi:

function removeFromBlackList($email)
{
    // 全局变量$conn是数据库连接对象

    // 从黑名单中删除邮箱
    $sql = "DELETE FROM blacklist WHERE email='$email'";
    if ($conn->query($sql) === TRUE) {
        return true;
    } else {
        return false;
    }
}
Salin selepas log masuk

Akhir sekali, kita perlu menyemak sama ada pengguna atau alamat e-mel berada dalam senarai hitam. Berikut adalah contoh fungsi:

function checkBlackList($email)
{
    // 全局变量$conn是数据库连接对象

    // 检查邮箱是否在黑名单中
    $sql = "SELECT id FROM blacklist WHERE email='$email'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // 邮箱在黑名单中
        return true;
    } else {
        // 邮箱不在黑名单中
        return false;
    }
}
Salin selepas log masuk

Kini, kami telah berjaya menulis fungsi yang menguruskan senarai hitam. Seterusnya, kami menggunakan PHPMailer untuk melaksanakan fungsi penghantaran e-mel dan menyemak sama ada penghantar berada dalam senarai hitam sebelum menghantar. Berikut ialah contoh kod:

<?php
require 'phpmailer/PHPMailerAutoload.php';

// 创建邮件对象
$mail = new PHPMailer;

// 配置SMTP服务器
$mail->isSMTP();
$mail->Host = 'smtp.yourdomain.com';
$mail->SMTPAuth = true;
$mail->Username = 'your_email@example.com';
$mail->Password = 'your_password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

// 设置发送方和收件人
$mail->setFrom('your_email@example.com', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');

// 设置邮件内容和主题
$mail->Subject = 'Hello from PHPMailer';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';

// 检查发送者是否在黑名单中
if (checkBlackList('your_email@example.com')) {
    echo "您不能发送邮件。";
} else {
    // 发送邮件
    if (!$mail->send()) {
        echo '邮件发送失败: ' . $mail->ErrorInfo;
    } else {
        echo '邮件发送成功!';
    }
}
?>
Salin selepas log masuk

Dalam contoh di atas, kami mula-mula mengkonfigurasi pelayan SMTP dan penghantar dan penerima mel. Kami kemudian menggunakan fungsi checkBlackList() untuk menyemak sama ada pengirim berada dalam senarai hitam. Jika pengirim berada dalam senarai hitam, kami akan mengeluarkan mesej segera yang menunjukkan bahawa penghantaran gagal jika tidak, kami menggunakan PHPMailer untuk menghantar e-mel.

Dengan contoh kod di atas, kami boleh melaksanakan fungsi pengurusan senarai hitam dengan jayanya dan menyemak sama ada pengirim berada dalam senarai hitam sebelum menghantar e-mel. Dengan cara ini, kami boleh menyekat pengguna atau alamat e-mel tertentu daripada menghantar e-mel ke tapak web kami.

Ringkasnya, melalui PHP dan PHPMailer, kami boleh melaksanakan fungsi pengurusan senarai hitam dengan mudah untuk penghantaran e-mel. Melalui fungsi pengurusan senarai hitam, kami boleh menyekat pengguna atau alamat e-mel tertentu daripada menghantar e-mel ke tapak web kami untuk melindungi keselamatan laman web dan pengalaman pengguna kami. Saya harap artikel ini berguna kepada anda, terima kasih kerana membaca!

Atas ialah kandungan terperinci Ketahui cara melaksanakan fungsi pengurusan senarai hitam untuk 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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
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)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

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.

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.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

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

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

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

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles