Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menghantar dan menerima e-mel menggunakan PHP

Cara menghantar dan menerima e-mel menggunakan PHP

王林
王林asal
2023-06-18 08:38:432669semak imbas

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang sering digunakan semasa membangunkan aplikasi web. Ia boleh menghantar dan menerima e-mel dengan mudah, membolehkan pembangun membina sistem e-mel mereka sendiri dengan cepat. Dalam artikel ini, kami akan meneroka cara menghantar dan menerima e-mel menggunakan PHP.

1. Menghantar e-mel

PHP menyediakan banyak fungsi untuk menghantar e-mel, yang paling biasa digunakan ialah kelas PHPMailer yang menggunakan pelayan SMTP untuk menghantar e-mel. Kelas ini ialah perpustakaan sumber terbuka yang ditulis dalam PHP dengan sokongan komuniti yang meluas dan boleh disepadukan dengan mudah dengan pengurusan projek phpmailer.

  1. Muat turun kelas PHPMailer

Anda boleh memuat turun kelas phpmailer di repositori GitHub phpmailer. Anda juga boleh melakukan ini dengan menggunakan rangka kerja PHP seperti Laravel, Symfony atau Rangka Kerja Zend tanpa memuat turun.

  1. Sertakan kelas PHPMailer dalam fail PHP

Anda perlu mengimport kelas PHPMailer dalam fail PHP anda. Anda boleh menggunakan arahan berikut:

require_once '/path/to/phpmailer/PHPMailerAutoload.php';

  1. Konfigurasikan maklumat pelayan mel

dalam PHP Dalam Posman, anda perlu mengkonfigurasi maklumat pelayan mel anda, seperti alamat pelayan SMTP, nombor port, nama pengguna dan kata laluan. Anda boleh menggunakan arahan berikut:

$mail = PHPMailer baharu;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Nama pengguna = 'nama anda@gmail.com';
$mail->Kata Laluan = 'kata laluan anda';
$mail-> ; SMTPSecure = 'tls';
$mail->Port = 587;

Dalam kod di atas, anda perlu menukar konfigurasi maklumat pelayan mel kepada maklumat yang sepadan dengan pelayan mel anda.

  1. Tetapkan maklumat e-mel

Dalam PHP Postman, anda boleh menetapkan penerima, subjek dan kandungan e-mel.

$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('johndoe@example.com', 'John Doe');
$mail->Subject = 'PHPMailer SMTP test';
$mail->Body = 'Ini ialah mesej e-mel ujian';

Dalam contoh ini, e-mel adalah daripada " from@example.com" alamat ke alamat "johndoe@example.com".

  1. Hantar E-mel

Setelah anda mengkonfigurasi maklumat pelayan mel dan kandungan e-mel, anda boleh menghantar e-mel menggunakan arahan berikut:

jika( !$ mail->send()) {
echo 'Mesej tidak dapat dihantar.';
echo 'Mailer Error: ' echo ' Mesej telah dihantar';
}

2. Terima e-mel

PHP juga boleh menerima e-mel. PHP menyediakan sokongan untuk protokol seperti IMAP dan POP3, menjadikannya mudah untuk menerima e-mel.

Konfigurasikan maklumat pelayan IMAP/POP3
  1. Dalam PHP, anda perlu mengkonfigurasi maklumat pelayan IMAP/POP3, seperti alamat pelayan, nombor port, nama pengguna dan kata laluan. Anda boleh menggunakan arahan berikut:

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';

$username = 'user@example.com';

$ password = 'password';

Dalam contoh ini, anda perlu menukar alamat pelayan kepada pelayan IMAP atau POP3 anda dan nama pengguna dan kata laluan ke akaun e-mel anda.

Memautkan ke pelayan IMAP/POP3
  1. Menyambung ke pelayan IMAP/POP3 boleh menggunakan fungsi imap_open(). Fungsi ini mengembalikan sumber sambungan IMAP. Berikut ialah contoh:

$inbox = imap_open($hostname, $username, $password) atau die('Tidak dapat menyambung

ke Gmail: ' . imap_last_error());


Terima E-mel
  1. Anda boleh mencari e-mel dalam PHP menggunakan fungsi imap_search(). Berikut ialah contoh:

$result = imap_search($inbox,'UNSEEN');

Dalam contoh ini, pembolehubah $inbox ialah sumber sambungan yang dipautkan ke pelayan IMAP/POP3, dan Mengembalikan senarai mesej yang belum dibaca.

Dapatkan mesej daripada mel
  1. Anda boleh menggunakan fungsi imap_fetch_overview() untuk mendapatkan gambaran keseluruhan mel. Berikut ialah contoh:

$overview = imap_fetch_overview($inbox,$email_number,0);

Dalam contoh ini, $email_number ialah nombor e-mel mesej yang akan diambil.

Tutup sambungan IMAP/POP3
  1. Anda perlu menggunakan fungsi imap_close() untuk menutup sambungan IMAP/POP3:

imap_close($inbox);

Kesimpulan

Dalam artikel ini, kami membincangkan kaedah tentang cara menghantar dan menerima e-mel menggunakan PHP. Sama ada anda sedang membina sistem mel anda sendiri atau hanya perlu menyepadukan fungsi e-mel ke dalam aplikasi anda, PHP ialah alat berkuasa yang boleh membantu anda mencapai matlamat ini. Anda disyorkan agar menyemak dokumentasi kelas phpmailer apabila menggunakan PHPMailer, membiasakan diri dengan fungsi lain yang disediakan oleh kelas ini dan mendalami pemahaman anda tentang sistem mel dengan mencari aplikasi e-mel sumber terbuka dengan ciri sedia pengeluaran, seperti Roundcube atau SquirrelMail.

Atas ialah kandungan terperinci Cara menghantar dan menerima e-mel menggunakan PHP. 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