Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menguasai PHP dan PHPMAILER: Bagaimana untuk melaksanakan fungsi berhenti melanggan menghantar e-mel?

Menguasai PHP dan PHPMAILER: Bagaimana untuk melaksanakan fungsi berhenti melanggan menghantar e-mel?

WBOY
WBOYasal
2023-07-21 14:58:461295semak imbas

Kuasai PHP dan PHPMAILER: Bagaimana untuk melaksanakan fungsi berhenti melanggan menghantar e-mel?

Dengan populariti e-mel, banyak syarikat dan individu menggunakan e-mel untuk promosi dan pemasaran. Walau bagaimanapun, kadangkala penerima mungkin tidak berminat dengan e-mel yang mereka terima, atau mungkin merasakan bahawa mereka telah menerima terlalu banyak e-mel. Untuk memberi perkhidmatan yang lebih baik kepada pengguna kami, kami perlu menyediakan ciri yang membolehkan pengguna menyahlanggan e-mel dengan mudah. Dalam artikel ini, saya akan memperkenalkan cara menggunakan PHP dan PHPMailer untuk melaksanakan fungsi berhenti melanggan penghantaran e-mel.

Pertama, kami memerlukan pangkalan data pengguna untuk menyimpan status langganan pengguna. Kami boleh menggunakan pangkalan data MySQL untuk mencipta jadual data bernama "pelanggan" yang mengandungi medan untuk ID pengguna, alamat e-mel dan status langganan. Berikut ialah pernyataan SQL yang mudah untuk membuat jadual:

CIPTA pelanggan JADUAL (

id INT(11) AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
subscribed TINYINT(1) NOT NULL DEFAULT '1'

);

Seterusnya, kita perlu mencipta halaman nyahlanggan yang membolehkan pengguna memasukkan alamat e-mel mereka dan memilih sama ada untuk menyahlanggan mel. Pada halaman ini, kami boleh menggunakan borang HTML untuk mengumpul input pengguna. Berikut ialah contoh mudah:

<form action="unsubscribe.php" method="post">
    <label for="email">邮箱地址:</label>
    <input type="email" id="email" name="email" required>
    
    <label for="unsubscribe">退订邮件:</label>
    <input type="checkbox" id="unsubscribe" name="unsubscribe" value="1">
    
    <input type="submit" value="提交">
</form>

Pada halaman nyahlanggan, kita perlu menulis skrip PHP untuk memproses input pengguna. Mula-mula, kita perlu menyambung ke pangkalan data dan kemudian mendapatkan alamat e-mel yang dimasukkan pengguna dan pilihan nyahlanggan daripada permintaan POST. Berikut ialah contoh mudah:

<?php
// 连接到数据库
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";

$connection = mysqli_connect($host, $username, $password, $database);

// 获取用户输入
$email = $_POST['email'];
$unsubscribe = isset($_POST['unsubscribe']) ? 1 : 0;

// 更新订阅状态
$query = "UPDATE subscribers SET subscribed = $unsubscribe WHERE email = '$email'";
mysqli_query($connection, $query);

// 关闭数据库连接
mysqli_close($connection);
?>

Setelah pengguna menyerahkan borang pada halaman nyahlanggan, kami boleh mengemas kini status langganan alamat e-mel yang sepadan dalam pangkalan data. Jika pengguna memilih untuk menyahlanggan e-mel, kami mengemas kini status langganan kepada 0, menunjukkan bahawa pengguna tidak lagi mahu menerima e-mel jika pengguna tidak memilih untuk menyahlanggan e-mel, kami mengekalkan status langganan pada 1, menunjukkan bahawa pengguna terus menerima e-mel.

Seterusnya, kami perlu mengubah suai kod penghantaran e-mel untuk menyemak status langganan pengguna sebelum menghantar e-mel. Dalam kod yang menggunakan PHPMailer untuk menghantar e-mel, kita boleh menambah semakan berikut sebelum menghantar e-mel:

<?php
// 连接到数据库
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";

$connection = mysqli_connect($host, $username, $password, $database);

// 获取收件人的邮箱地址
$to = "receiver_email@example.com";

// 查询收件人的订阅状态
$query = "SELECT subscribed FROM subscribers WHERE email = '$to'";
$result = mysqli_query($connection, $query);
$row = mysqli_fetch_assoc($result);

// 如果收件人已经退订邮件,不发送邮件
if ($row['subscribed'] == 0) {
    exit;
}

// 发送邮件的代码
// ...
?>

Dengan menanyakan status langganan penerima sebelum menghantar e-mel, kita boleh mengelak daripada menghantar e-mel kepada pengguna yang telah berhenti melanggan.

Ringkasnya, dengan menggabungkan PHP dan PHPMailer, kami boleh melaksanakan fungsi berhenti melanggan penghantaran e-mel dengan mudah. Pertama, kami memerlukan pangkalan data pengguna untuk menyimpan status langganan pengguna kemudian, kami membuat halaman berhenti melanggan supaya pengguna boleh memasukkan alamat e-mel mereka dan memilih sama ada untuk berhenti melanggan e-mel akhirnya, kami mengubah suai kod untuk menghantar e-mel status langganan penerima sebelum menghantar mesej. Melalui proses sedemikian, kami dapat memberikan perkhidmatan yang lebih baik dan menghormati kehendak pengguna.

Di atas adalah pengenalan tentang cara menggunakan PHP dan PHPMailer untuk melaksanakan fungsi berhenti melanggan menghantar e-mel. Saya harap ia akan membantu anda!

Atas ialah kandungan terperinci Menguasai PHP dan PHPMAILER: Bagaimana untuk melaksanakan fungsi berhenti melanggan menghantar e-mel?. 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