Rumah pembangunan bahagian belakang tutorial php PHP dan PHPMAILER: Bagaimana untuk melaksanakan penapisan automatik penghantaran mel?

PHP dan PHPMAILER: Bagaimana untuk melaksanakan penapisan automatik penghantaran mel?

Jul 21, 2023 am 09:25 AM
automatik penapis mel

PHP dan PHPMAILER: Bagaimana untuk melaksanakan penapisan automatik penghantaran e-mel?

Dalam masyarakat moden, e-mel telah menjadi salah satu cara penting untuk orang ramai berkomunikasi. Walau bagaimanapun, dengan populariti dan penggunaan e-mel yang meluas, jumlah spam juga telah menunjukkan trend pertumbuhan yang meletup. E-mel spam bukan sahaja membuang masa dan sumber rangkaian pengguna, tetapi juga boleh membawa virus dan tingkah laku pancingan data. Oleh itu, apabila membangunkan fungsi penghantaran e-mel, ia menjadi penting untuk menambah fungsi menapis spam secara automatik. Artikel ini akan memperkenalkan cara menggunakan PHP dan PHPMailer untuk melaksanakan fungsi penapisan automatik penghantaran e-mel.

1. Penghantaran e-mel PHP
PHP ialah bahasa skrip yang boleh dibenamkan secara langsung dalam HTML. Melalui PHP, kita boleh menggunakan protokol SMTP untuk menghantar e-mel ke pelayan mel yang ditentukan. PHP menyediakan banyak fungsi dan kelas untuk menghantar e-mel, antaranya PHPMailer adalah yang paling biasa digunakan dan berkuasa.

2. Pengenalan kepada PHPMailer
PHPMailer ialah kelas penghantaran e-mel PHP sumber terbuka Ia menyediakan satu siri fungsi dan kaedah untuk memudahkan proses penghantaran e-mel, dan menyokong pengesahan SMTP, penghantaran lampiran dan fungsi lain.

3. Penapisan spam automatik
Untuk merealisasikan fungsi penapisan automatik penghantaran e-mel, kami perlu menanganinya dari dua aspek: peraturan penapisan spam dan peraturan penapisan kandungan.

  1. Peraturan penapisan spam
    Peraturan penapisan spam merujuk kepada menggunakan beberapa algoritma atau peraturan untuk menentukan sama ada e-mel adalah spam. Peraturan penapisan spam yang biasa digunakan termasuk: penapisan kata kunci, pengesahan penghantar, penapisan alamat IP, semakan nama domain penghantar, dsb.

Berikut ialah contoh kod PHP menggunakan peraturan penapisan spam:

function isSpam($subject, $sender) {
    $spamWords = array('广告', '抽奖', '免费');
    foreach ($spamWords as $word) {
        if (strpos($subject, $word) !== false || strpos($sender, $word) !== false) {
            return true; // 包含垃圾邮件关键词,判断为垃圾邮件
        }
    }
    return false; // 不包含垃圾邮件关键词,判断为正常邮件
}
Salin selepas log masuk

Sebelum e-mel dihantar, kami boleh menentukan sama ada e-mel itu spam dengan memanggil fungsi isSpam(). Jika benar dikembalikan, jangan hantar jika palsu dikembalikan, hantar diteruskan.

  1. Peraturan penapisan kandungan
    Peraturan penapisan kandungan merujuk kepada menapis kandungan e-mel melalui beberapa peraturan atau ungkapan biasa, seperti: menapis perkataan, menapis pautan, menapis jenis lampiran, dsb.

Berikut ialah contoh kod PHP menggunakan peraturan penapisan kandungan:

function contentFilter($body) {
    $filterWords = array('违禁词1', '违禁词2', '违禁词3');
    foreach ($filterWords as $word) {
        $body = str_replace($word, '***', $body); // 将违禁词替换为***
    }
    return $body;
}
Salin selepas log masuk

Sebelum e-mel dihantar, kami boleh menapis kandungan e-mel dengan memanggil fungsi contentFilter(). Kandungan yang ditapis boleh dicapai dengan menambahkan lampiran, mengubah suai badan e-mel, dsb.

4. Contoh PHPMailer
Berikut ialah contoh kod yang menggunakan PHP dan PHPMailer untuk menghantar e-mel:

require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.qq.com';
$mail->SMTPAuth = true;
$mail->Username = 'your-email@qq.com';
$mail->Password = 'your-password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('your-email@qq.com', 'Your Name');
$mail->addAddress('recipient-email@example.com', 'Recipient Name');
$mail->isHTML(true);
$mail->Subject = 'Subject';
$mail->Body = '<p>Email Content</p>';
// 添加邮件过滤功能
if (!isSpam($mail->Subject, $mail->Username)) {
    $mail->Body = contentFilter($mail->Body);
    if(!$mail->send()) {
        echo '邮件发送失败: ' . $mail->ErrorInfo;
    } else {
        echo '邮件发送成功';
    }
} else {
    echo '邮件被判断为垃圾邮件,发送中止';
}
Salin selepas log masuk

Dalam contoh ini, kami mula-mula memperkenalkan fail perpustakaan PHPMailer menggunakan pernyataan memerlukan, dan kemudian mencipta objek PHPMailer $mail, dan Buat tetapan yang diperlukan. Akhir sekali, kami memanggil fungsi isSpam() dan fungsi contentFilter() untuk menapis mel. Jika e-mel melepasi peraturan penapisan, hubungi kaedah $mail->send() untuk menghantar e-mel, jika tidak, hentikan penghantaran.

5. Ringkasan
Artikel ini memperkenalkan cara menggunakan PHP dan PHPMailer untuk melaksanakan fungsi penapisan automatik penghantaran e-mel. Dengan menetapkan peraturan penapisan spam dan peraturan penapisan kandungan, kami boleh meningkatkan kecekapan dan keselamatan penghantaran e-mel. Saya harap artikel ini dapat membantu anda semasa membangunkan fungsi penghantaran e-mel.

Atas ialah kandungan terperinci PHP dan PHPMAILER: Bagaimana untuk melaksanakan penapisan automatik penghantaran mel?. 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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan 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)

E-mel Outlook hilang daripada panel kawalan dalam Windows 11 E-mel Outlook hilang daripada panel kawalan dalam Windows 11 Feb 29, 2024 pm 03:16 PM

Adakah ikon mel Outlook tiada daripada Panel Kawalan Windows 11? Keadaan yang tidak dijangka ini telah menyebabkan kekeliruan dan kebimbangan di kalangan sesetengah individu yang bergantung pada OutlookMail untuk keperluan komunikasi mereka. Mengapa e-mel Outlook saya tidak dipaparkan dalam Panel Kawalan? Mungkin terdapat beberapa sebab yang mungkin mengapa tiada ikon mel Outlook dalam Panel Kawalan: Outlook tidak dipasang dengan betul. Memasang aplikasi Office daripada Microsoft Store tidak menambah applet Mel pada Panel Kawalan. Lokasi fail mlcfg32.cpl dalam Panel Kawalan tiada. Laluan ke fail mlcfg32.cpl dalam pendaftaran adalah salah. Sistem pengendalian tidak dikonfigurasikan pada masa ini untuk menjalankan aplikasi ini

Cantuman mel perkataan mencetak halaman kosong Cantuman mel perkataan mencetak halaman kosong Feb 19, 2024 pm 04:51 PM

Jika anda mendapati halaman kosong muncul apabila anda mencetak dokumen gabungan mel menggunakan Word, artikel ini akan membantu anda. Cantuman mel ialah ciri mudah yang membolehkan anda membuat dokumen diperibadikan dengan mudah dan menghantarnya kepada berbilang penerima. Dalam Microsoft Word, ciri gabungan mel dipandang tinggi kerana ia membantu pengguna menjimatkan masa menyalin kandungan yang sama secara manual untuk setiap penerima. Untuk mencetak dokumen gabungan mel, anda boleh pergi ke tab Mel. Tetapi sesetengah pengguna Word telah melaporkan bahawa apabila cuba mencetak dokumen gabungan mel, pencetak mencetak halaman kosong atau tidak mencetak langsung. Ini mungkin disebabkan oleh pemformatan atau tetapan pencetak yang salah. Cuba semak tetapan dokumen dan pencetak dan pastikan anda pratonton dokumen sebelum mencetak untuk memastikan kandungannya betul. jika

PHP menghantar e-mel secara tidak segerak: elakkan menunggu lama untuk e-mel dihantar. PHP menghantar e-mel secara tidak segerak: elakkan menunggu lama untuk e-mel dihantar. Sep 19, 2023 am 09:10 AM

PHP menghantar e-mel secara tidak segerak: elakkan menunggu lama untuk e-mel dihantar. Pengenalan: Dalam pembangunan web, menghantar e-mel adalah salah satu fungsi biasa. Namun, memandangkan penghantaran e-mel memerlukan komunikasi dengan pelayan, ia sering menyebabkan pengguna menunggu lama sementara menunggu e-mel dihantar. Untuk menyelesaikan masalah ini, kami boleh menggunakan PHP untuk menghantar e-mel secara tidak segerak untuk mengoptimumkan pengalaman pengguna. Artikel ini akan memperkenalkan cara melaksanakan PHP untuk menghantar e-mel secara tidak segerak melalui contoh kod tertentu dan mengelakkan menunggu lama. 1. Memahami menghantar e-mel secara tidak segerak

Bagaimana untuk membuka fail pendua yang ditapis dalam Quark Bagaimana untuk membuka fail pendua yang ditapis dalam Quark Mar 01, 2024 am 11:25 AM

Apabila menggunakan Quark Browser, terdapat fungsi untuk menapis fail pendua Beberapa rakan tidak begitu biasa dengan ini. 1. Mula-mula, klik "Pelayar Quark" pada telefon bimbit anda untuk memasuki antara muka, kemudian klik dan pilih "Cakera Rangkaian Quark" dalam pilihan di tengah halaman untuk dibuka dan masuk. 2. Cari "Tetapan Sandaran" di bahagian bawah antara muka cakera rangkaian Quark, dan klik untuk membukanya, seperti yang ditunjukkan dalam rajah di bawah: 3. Seterusnya, pada halaman yang anda masukkan, terdapat "Filter Duplicate Files", yang dipaparkan di belakangnya Terdapat butang suis Klik gelangsar bulat padanya dan tetapkannya kepada warna untuk menghidupkan fungsi ini Apabila anda terus membuat sandaran fail, fail pendua akan dilangkau untuk menjimatkan kapasiti cakera rangkaian.

Fungsi penjejakan e-mel PHP: memahami tingkah laku pengguna dan maklum balas tentang e-mel. Fungsi penjejakan e-mel PHP: memahami tingkah laku pengguna dan maklum balas tentang e-mel. Sep 19, 2023 am 08:51 AM

Fungsi penjejakan e-mel PHP: memahami tingkah laku pengguna dan maklum balas mengenai e-mel Dalam masyarakat moden, e-mel telah menjadi bahagian yang amat diperlukan dalam kehidupan dan pekerjaan harian orang ramai. Untuk perniagaan, menghantar e-mel adalah salah satu cara penting untuk berkomunikasi dengan pelanggan dan mempromosikan produk atau perkhidmatan. Walau bagaimanapun, selepas e-mel dihantar, bagaimana kita tahu sama ada ia diterima, dibaca atau bagaimana pengguna bertindak balas terhadap kandungan e-mel tersebut? Pada masa ini, fungsi penjejakan e-mel menjadi sangat penting. Fungsi penjejakan e-mel boleh membantu kami memahami tingkah laku pengguna dan maklum balas mengenai e-mel

Python melaksanakan penapisan dan penapisan data XML Python melaksanakan penapisan dan penapisan data XML Aug 09, 2023 am 10:13 AM

Python melaksanakan penapisan dan penapisan data XML (eXtensibleMarkupLanguage) ialah bahasa penanda yang digunakan untuk menyimpan dan menghantar data Ia fleksibel dan berskala dan sering digunakan untuk pertukaran data antara sistem yang berbeza. Apabila memproses data XML, kami selalunya perlu menapis dan menapisnya untuk mengekstrak maklumat yang kami perlukan. Artikel ini akan memperkenalkan cara menggunakan Python untuk menapis dan menapis data XML. Import modul yang diperlukan Sebelum memulakan, kami

Bagaimana untuk menggunakan fungsi PHP untuk mencari dan menapis data? Bagaimana untuk menggunakan fungsi PHP untuk mencari dan menapis data? Jul 24, 2023 am 08:01 AM

Bagaimana untuk menggunakan fungsi PHP untuk mencari dan menapis data? Dalam proses pembangunan menggunakan PHP, selalunya perlu untuk mencari dan menapis data. PHP menyediakan pelbagai fungsi dan kaedah untuk membantu kami mencapai operasi ini. Artikel ini akan memperkenalkan beberapa fungsi dan teknik PHP yang biasa digunakan untuk membantu anda mencari dan menapis data dengan cekap. Carian rentetan Fungsi carian rentetan yang biasa digunakan dalam PHP ialah strpos() dan strstr(). strpos() digunakan untuk mencari kedudukan subrentetan tertentu dalam rentetan Jika wujud, ia akan kembali

Penjanaan lakaran kecil automatik menggunakan JavaScript Penjanaan lakaran kecil automatik menggunakan JavaScript Jun 16, 2023 pm 12:51 PM

Dengan perkembangan Internet, gambar telah menjadi bahagian yang sangat diperlukan dalam laman web. Tetapi apabila bilangan imej meningkat, kelajuan memuatkan imej telah menjadi isu yang sangat penting. Untuk menyelesaikan masalah ini, banyak tapak web menggunakan lakaran kecil untuk memaparkan imej, tetapi untuk menghasilkan lakaran kecil, kita perlu menggunakan alat pemprosesan imej profesional, yang merupakan perkara yang sangat menyusahkan bagi sesetengah orang bukan profesional. Kemudian, menggunakan JavaScript untuk mencapai penjanaan lakaran kecil automatik menjadi pilihan yang baik. Cara menggunakan JavaS

See all articles