PHP ialah bahasa pengaturcaraan yang digunakan secara meluas, dan salah satu aplikasi lazimnya ialah menghantar e-mel. Dalam artikel ini, kami akan membincangkan cara menghantar e-mel menggunakan permintaan HTTP. Kami akan memperkenalkan topik ini dari aspek berikut:
Permintaan HTTP merujuk kepada permintaan yang dihantar kepada pelayan web untuk mendapatkan sumber web. HTTP ialah protokol yang digunakan untuk memindahkan maklumat antara pelayar web dan pelayan web. Permintaan HTTP terdiri daripada kaedah HTTP, pengepala permintaan dan badan permintaan.
Kaedah HTTP merujuk kepada operasi yang ingin dilakukan oleh pelanggan. Sebagai contoh, kaedah GET dan POST biasa. Pengepala permintaan mengandungi maklumat tentang permintaan, seperti URL yang diminta dan versi HTTP yang diminta. Badan permintaan mengandungi data yang dihantar ke pelayan.
Sebelum memahami cara menghantar e-mel menggunakan permintaan HTTP, kita perlu memahami prinsip asas menghantar e-mel. Apabila kami menghantar e-mel, mesej dihantar ke pelayan SMTP. Pelayan SMTP bertanggungjawab untuk menghantar e-mel ke pelayan mel penerima.
Proses menghantar e-mel adalah seperti berikut:
PHP menyediakan beberapa fungsi terbina dalam untuk menggunakan permintaan HTTP dengan mudah. Fungsi ini termasuk file_get_contents() dan curl(). Fungsi file_get_contents() boleh mendapatkan kandungan daripada URL yang ditentukan melalui kaedah GET atau POST. Fungsi curl() boleh menggunakan pelbagai kaedah HTTP, seperti GET, POST, PUT dan DELETE.
Berikut ialah beberapa contoh kod untuk menunjukkan cara menghantar permintaan HTTP menggunakan PHP untuk menghantar e-mel.
Gunakan fungsi file_get_contents():
$url = 'http://smtp.gmail.com:587'; $data = array( 'username' => 'your_username', 'password' => 'your_password', 'from' => 'your_email', 'to' => 'receiver_email', 'subject' => 'This is the email subject', 'body' => 'This is the email body' ); $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded ", 'method' => 'POST', 'content' => http_build_query($data), ), ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context); if ($result === false) { die("Sending email failed."); } else { echo "Email sent successfully."; }
Gunakan fungsi curl():
$url = 'http://smtp.gmail.com:587'; $data = array( 'username' => 'your_username', 'password' => 'your_password', 'from' => 'your_email', 'to' => 'receiver_email', 'subject' => 'This is the email subject', 'body' => 'This is the email body' ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); $result = curl_exec($curl); if ($result === false) { die("Sending email failed."); } else { echo "Email sent successfully."; } curl_close($curl);
Dalam kod di atas, kami mula-mula menetapkan pelbagai parameter e-mel, termasuk penghantar, Penerima, subjek dan teks, dsb. Kemudian gunakan fungsi file_get_contents() atau fungsi curl() untuk menghantar permintaan HTTP ke pelayan SMTP untuk menghantar e-mel. Akhir sekali, tentukan sama ada penghantaran berjaya berdasarkan hasil pemulangan.
Ringkasan
Setakat ini, kami telah membincangkan kaedah menggunakan PHP untuk menghantar permintaan HTTP untuk menghantar e-mel. Kami mula-mula mempelajari asas permintaan HTTP, dan kemudian memperkenalkan prinsip asas menghantar e-mel. Seterusnya, kami membincangkan cara menggunakan fungsi terbina dalam PHP untuk menghantar e-mel. Akhir sekali, kami memberikan beberapa kod sampel untuk menunjukkan cara menggunakan fungsi file_get_contents() dan fungsi curl() untuk menghantar e-mel.
Atas ialah kandungan terperinci Cara menghantar e-mel menggunakan permintaan HTTP PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!