Cara menghantar e-mel menggunakan permintaan HTTP PHP

PHPz
Lepaskan: 2023-05-21 19:14:02
asal
1382 orang telah melayarinya

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:

  1. Apakah permintaan HTTP
  2. Prinsip asas menghantar e-mel
  3. Menggunakan PHP untuk menghantar permintaan HTTP
  4. Kod contoh untuk menghantar e-mel
  5. Apakah permintaan HTTP

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.

  1. Prinsip Asas Menghantar E-mel

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:

  1. Buat e-mel dan isikan maklumat yang berkaitan, seperti pengirim, penerima, subjek, dsb.
  2. E-mel dihantar ke pelayan SMTP.
  3. Pelayan SMTP mengesahkan identiti pengirim dan menghantar mesej ke pelayan mel penerima.
  4. Pelayan mel penerima mengesahkan e-mel dan kemudian memberitahu pengguna e-mel tersebut.
  5. Menggunakan PHP untuk menghantar permintaan HTTP

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.

  1. Kod Contoh

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.";
}
Salin selepas log masuk

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);
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan