Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Senarai hitam e-mel PHP: menyekat atau menapis e-mel daripada peti mel tertentu.

Senarai hitam e-mel PHP: menyekat atau menapis e-mel daripada peti mel tertentu.

王林
王林asal
2023-09-19 14:49:521177semak imbas

Senarai hitam e-mel PHP: menyekat atau menapis e-mel daripada peti mel tertentu.

Senarai Hitam E-mel PHP: Sekat atau tapis e-mel daripada peti mel tertentu

Dalam era Internet, e-mel telah menjadi kehidupan seharian dan kerja orang ramai sebahagian daripada. Walau bagaimanapun, apabila spam dan e-mel berniat jahat terus meningkat, kadangkala kami mengalami gangguan dan gangguan yang tidak perlu. Untuk menyelesaikan masalah ini, kita boleh menggunakan bahasa pengaturcaraan PHP untuk melaksanakan sistem senarai hitam e-mel untuk menyekat atau menapis e-mel daripada peti mel tertentu.

Pertama sekali, kami memerlukan pangkalan data untuk menyimpan alamat e-mel dalam senarai hitam. Anda boleh menggunakan MySQL atau pangkalan data hubungan lain untuk mencipta jadual bernama "email_blacklist", yang mengandungi medan "emel" untuk menyimpan alamat e-mel dalam senarai hitam.

Berikut ialah contoh struktur jadual MySQL yang mudah:

CREATE TABLE email_blacklist (
    id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(255) NOT NULL
);

Seterusnya, kami menggunakan kod PHP untuk melaksanakan sistem senarai hitam e-mel yang ringkas. Mula-mula, sambung ke pelayan pangkalan data dan pilih pangkalan data:

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

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
?>

Kemudian, kami menulis fungsi untuk menyemak sama ada alamat e-mel berada dalam senarai hitam:

<?php
function checkEmailBlacklist($email)
{
    global $conn;
    
    $sql = "SELECT * FROM email_blacklist WHERE email = '$email'";
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
        return true; // 邮箱地址在黑名单中
    } else {
        return false; // 邮箱地址不在黑名单中
    }
}
?>

Seterusnya, kami Sebelum menghantar e-mel, tambahkan sekeping kod untuk menyemak sama ada alamat e-mel berada dalam senarai hitam:

<?php
$to = "recipient@example.com";
$subject = "Example Email";
$body = "This is an example email.";

if (!checkEmailBlacklist($to)) {
    // 发送邮件
    $headers = "From: sender@example.com
";
    $headers .= "Reply-To: sender@example.com
";
    
    if (mail($to, $subject, $body, $headers)) {
        echo "Email sent successfully.";
    } else {
        echo "Failed to send email.";
    }
} else {
    echo "Email blocked.";
}
?>

Kod di atas terlebih dahulu akan menyemak sama ada alamat e-mel penerima berada dalam senarai hitam, dan jika ia dalam senarai hitam, ia akan menghalang penghantaran, jika tidak, teruskan menghantar e-mel.

Apabila menerima e-mel, kami juga boleh menggunakan kaedah yang sama untuk menyemak sama ada alamat e-mel pengirim berada dalam senarai hitam dan memutuskan sama ada untuk menerima e-mel tersebut.

Perlu diingatkan bahawa kod di atas hanyalah contoh Dalam aplikasi sebenar, penapisan dan pemeriksaan kandungan e-mel yang lebih terperinci mungkin diperlukan, serta pemprosesan logik yang lebih kompleks.

Ringkasan: Melalui bahasa pengaturcaraan PHP, kami boleh dengan mudah melaksanakan sistem senarai hitam e-mel untuk menyekat atau menapis e-mel daripada peti mel tertentu. Ini mengurangkan kemungkinan kami menerima spam dan e-mel berniat jahat serta menyediakan penapisan e-mel dan keupayaan pengurusan yang lebih baik.

Atas ialah kandungan terperinci Senarai hitam e-mel PHP: menyekat atau menapis e-mel daripada peti mel tertentu.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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