Rumah > Artikel > pembangunan bahagian belakang > 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!