Rumah pembangunan bahagian belakang tutorial php Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar.

Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar.

Sep 19, 2023 am 09:16 AM
penghakiman Pengesanan mel Berjaya dihantar

Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar.

Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar.

Apabila membangunkan aplikasi web, selalunya perlu menghantar e-mel untuk berkomunikasi dengan pengguna Sama ada pengesahan pendaftaran, penetapan semula kata laluan atau pemberitahuan, fungsi e-mel adalah bahagian yang amat diperlukan. Walau bagaimanapun, kadangkala kami tidak dapat memastikan sama ada e-mel benar-benar berjaya dihantar, jadi kami perlu melakukan pengesanan e-mel dan menentukan sama ada e-mel tersebut telah berjaya dihantar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi ini.

1. Gunakan pelayan SMTP untuk menghantar e-mel

Pertama sekali, kita perlu menggunakan pelayan SMTP untuk menghantar e-mel, kerana protokol SMTP menyediakan mekanisme penghantaran e-mel yang boleh dipercayai. Dalam PHP, kita boleh menggunakan perpustakaan kelas SMTP untuk melaksanakan fungsi ini.

require 'path/to/phpmailer/autoload.php';

use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerException;

$mail = new PHPMailer(true);
try {
    $mail->SMTPDebug = 0;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp.example.com';                      // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'your-email@example.com';           // SMTP username
    $mail->Password = 'your-email-password';              // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    $mail->setFrom('your-email@example.com', 'Your Name');
    $mail->addAddress('recipient@example.com', 'Recipient Name');
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Test Subject';
    $mail->Body    = 'This is a test email.';

    $mail->send();
    echo 'Email has been sent.';
} catch (Exception $e) {
    echo 'Email could not be sent. Error: ', $mail->ErrorInfo;
}
Salin selepas log masuk

Kod ini menggunakan perpustakaan kelas PHPMailer, mengkonfigurasi maklumat berkaitan pelayan SMTP dan menghantar e-mel ujian.

2. Pengesanan Status E-mel

Menghantar e-mel tidak bermakna e-mel itu sebenarnya telah diterima, jadi kita perlu menggunakan pengesanan status e-mel untuk menentukan sama ada e-mel tersebut telah berjaya dihantar. Dalam PHP, kita boleh mendapatkan status mel melalui respons pelayan SMTP.

if ($mail->send()) {
    $response = $mail->getSMTPInstance()->getLastResponse();
    if (preg_match('/^250/', $response)) {
        echo 'Email has been sent.';
    } else {
        echo 'Email could not be sent. Response: ' . $response;
    }
} else {
    echo 'Email could not be sent. Error: ', $mail->ErrorInfo;
}
Salin selepas log masuk

Selepas menghantar e-mel, kod ini mendapat respons daripada pelayan SMTP melalui kaedah getSMTPInstance() dan menggunakan ungkapan biasa untuk menentukan sama ada respons bermula dengan 250 . Jika ya, Ini bermakna e-mel telah berjaya dihantar. getSMTPInstance()方法获取SMTP服务器的响应,并使用正则表达式判断响应是否以250开头,如果是则表示邮件发送成功。

三、邮件投递状态反馈

除了通过SMTP服务器的响应判断邮件是否发送成功外,我们还可以通过邮件投递状态反馈来获取更详细的信息。在PHP中,可以使用回执邮件的方式来实现。

$mail->addCustomHeader('Return-Receipt-To: your-email@example.com');
$mail->addCustomHeader('Disposition-Notification-To: your-email@example.com');

if ($mail->send()) {
    echo 'Email has been sent.';
} else {
    echo 'Email could not be sent.';
}
Salin selepas log masuk

这段代码在发送邮件之前,通过addCustomHeader()

3. Maklum balas status penghantaran e-mel

Selain menilai sama ada e-mel berjaya dihantar melalui respons pelayan SMTP, kami juga boleh mendapatkan maklumat yang lebih terperinci melalui maklum balas status penghantaran e-mel. Dalam PHP, ini boleh dicapai menggunakan e-mel resit pulangan.

rrreee

Kod ini menambah maklumat tentang e-mel resit pemulangan melalui kaedah addCustomHeader() sebelum menghantar e-mel. Apabila penerima membuka e-mel dan mengesahkan membaca, kami akan menerima e-mel resit yang melaluinya kami boleh mengesahkan sama ada e-mel tersebut telah diterima dan dibaca.

Ringkasan: 🎜🎜Melalui kaedah di atas, kita boleh menentukan sama ada e-mel tersebut telah berjaya dihantar. Dalam pembangunan sebenar, kami boleh memilih kaedah yang sesuai untuk pengesanan e-mel berdasarkan keperluan yang berbeza untuk memastikan kebolehpercayaan dan ketepatan masa e-mel. 🎜🎜 (Nota: Alamat e-mel dan kata laluan dalam contoh di atas hendaklah digantikan dengan alamat e-mel dan kata laluan sebenar anda, dan pastikan pelayan SMTP dikonfigurasikan dengan betul.) 🎜

Atas ialah kandungan terperinci Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar.. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 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)

Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar. Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar. Sep 19, 2023 am 09:16 AM

Pengesanan e-mel PHP: Tentukan sama ada e-mel telah berjaya dihantar. Semasa membangunkan aplikasi web, anda sering perlu menghantar e-mel untuk berkomunikasi dengan pengguna sama ada pengesahan pendaftaran, penetapan semula kata laluan atau penghantaran pemberitahuan, fungsi e-mel adalah bahagian yang amat diperlukan. Walau bagaimanapun, kadangkala kami tidak dapat memastikan sama ada e-mel benar-benar berjaya dihantar, jadi kami perlu melakukan pengesanan e-mel dan menentukan sama ada e-mel tersebut telah berjaya dihantar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi ini. 1. Gunakan pelayan SMTP untuk menghantar e-mel Pertama, kita perlu menggunakan SM

Gunakan fungsi Character.isDigit() java untuk menentukan sama ada aksara ialah nombor Gunakan fungsi Character.isDigit() java untuk menentukan sama ada aksara ialah nombor Jul 27, 2023 am 09:32 AM

Gunakan fungsi Java's Character.isDigit() untuk menentukan sama ada aksara ialah aksara angka diwakili dalam bentuk kod ASCII secara dalaman dalam komputer Setiap aksara mempunyai kod ASCII yang sepadan. Antaranya, nilai kod ASCII yang sepadan dengan aksara angka 0 hingga 9 masing-masing adalah 48 hingga 57. Untuk menentukan sama ada aksara ialah nombor, anda boleh menggunakan kaedah isDigit() yang disediakan oleh kelas Aksara dalam Java. Kaedah isDigit() adalah daripada kelas Aksara

Gunakan fungsi File.isDirectory() java untuk menentukan sama ada fail itu wujud dan merupakan jenis direktori Gunakan fungsi File.isDirectory() java untuk menentukan sama ada fail itu wujud dan merupakan jenis direktori Jul 24, 2023 pm 06:57 PM

Gunakan fungsi File.isDirectory() Java untuk menentukan sama ada fail wujud dan daripada jenis direktori Dalam pengaturcaraan Java, anda sering menghadapi situasi di mana anda perlu menentukan sama ada fail wujud dan jenis direktori. Java menyediakan kelas Fail untuk mengendalikan fail dan direktori Fungsi isDirectory() boleh membantu kami menentukan sama ada fail ialah jenis direktori. Fungsi File.isDirectory() ialah kaedah dalam kelas Fail Fungsinya adalah untuk menentukan Fail semasa

Cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada nombor adalah tak terhingga Cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada nombor adalah tak terhingga Jul 24, 2023 am 10:10 AM

Cara menggunakan kaedah isInfinite() kelas Double untuk menentukan sama ada nombor adalah infiniti Di Java, kelas Double ialah kelas pembalut yang digunakan untuk mewakili nombor titik terapung. Kelas ini menyediakan satu siri kaedah yang boleh beroperasi dengan mudah pada nombor titik terapung. Antaranya, kaedah isInfinite() digunakan untuk menentukan sama ada nombor titik terapung adalah tak terhingga. Infiniti merujuk kepada infiniti positif dan infiniti negatif yang sangat besar sehingga melebihi julat yang boleh diwakili oleh nombor titik terapung. Dalam komputer, nilai maksimum nombor titik terapung boleh diperolehi melalui kelas Double

Bagaimana untuk menentukan sama ada tarikh adalah hari sebelumnya dalam bahasa Go? Bagaimana untuk menentukan sama ada tarikh adalah hari sebelumnya dalam bahasa Go? Mar 24, 2024 am 10:09 AM

Soalan: Bagaimana untuk menentukan sama ada tarikh itu adalah hari sebelumnya dalam bahasa Go? Dalam perkembangan harian, kita sering menghadapi situasi di mana kita perlu menentukan sama ada tarikh itu adalah hari sebelumnya. Dalam bahasa Go, kita boleh melaksanakan fungsi ini melalui pengiraan masa. Perkara berikut akan digabungkan dengan contoh kod khusus untuk menunjukkan cara menentukan sama ada tarikh itu adalah hari sebelumnya dalam bahasa Go. Pertama, kita perlu mengimport pakej masa dalam bahasa Go Kodnya adalah seperti berikut: import("time") Kemudian, kita mentakrifkan fungsi IsYest

Amalan penggunaan jQuery: beberapa cara untuk menentukan sama ada pembolehubah kosong Amalan penggunaan jQuery: beberapa cara untuk menentukan sama ada pembolehubah kosong Feb 27, 2024 pm 04:12 PM

jQuery ialah perpustakaan JavaScript yang digunakan secara meluas dalam pembangunan web Ia menyediakan banyak kaedah mudah dan mudah untuk mengendalikan elemen halaman web dan mengendalikan acara. Dalam pembangunan sebenar, kita sering menghadapi situasi di mana kita perlu menentukan sama ada pembolehubah kosong. Artikel ini akan memperkenalkan beberapa kaedah biasa menggunakan jQuery untuk menentukan sama ada pembolehubah kosong, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan pernyataan if untuk menentukan varstr="";if(str){co

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Feb 29, 2024 am 09:03 AM

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Apabila menggunakan jQuery untuk mengendalikan elemen DOM, anda sering menghadapi situasi di mana anda perlu menentukan sama ada sesuatu elemen mempunyai atribut tertentu. Dalam kes ini, kita boleh melaksanakan fungsi ini dengan mudah dengan bantuan kaedah yang disediakan oleh jQuery. Berikut akan memperkenalkan dua kaedah yang biasa digunakan untuk menentukan sama ada elemen jQuery mempunyai atribut khusus, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan kaedah attr() dan operator jenis // untuk menentukan sama ada elemen mempunyai atribut tertentu

Dalam program C++, apabila mengeluarkan bit dibenarkan, tentukan sama ada nombor boleh dibahagi dengan 64. Dalam program C++, apabila mengeluarkan bit dibenarkan, tentukan sama ada nombor boleh dibahagi dengan 64. Sep 01, 2023 pm 08:17 PM

Dalam tutorial ini, kami akan menulis program yang menyemak sama ada nombor binari yang diberikan boleh dibahagikan dengan 64. Kami diberi nombor binari dan kami boleh mengeluarkan beberapa bit untuk menjadikannya boleh dibahagikan dengan 64. Selepas mengeluarkan bit, jika nombor boleh dibahagikan dengan 64, cetak Ya, jika tidak cetak No. Kaedah yang akan kami gunakan adalah sangat mudah. Mari kita lihat langkah-langkah untuk menyelesaikan masalah tersebut. Mulakan nombor binari dalam format rentetan. Lelaran ke atas nombor binari yang diberikan. Kira bilangan sifar. Jika nombor binari mengandungi lebih daripada atau sama dengan 6 bit sifar, nombor itu boleh dibahagi dengan 64. Mencetak sama ada nombor binari yang diberikan boleh dibahagikan dengan 64. Contoh Mari lihat kod. #include<bits/stdc++.h>usi

See all articles