Tutorial Asas Pembangunan PHP: Menghantar E-mel

1. Fungsi PHP mail()

Fungsi PHP mail() digunakan untuk menghantar e-mel daripada skrip.

Sintaks:

mel(ke,subjek,mesej,pengepala,parameter)

57.png


Nota: Menjalankan fungsi mel dalam PHP memerlukan sistem mel yang dipasang dan dijalankan (seperti sendmail, postfix, qmail, dll.). Program yang digunakan ditakrifkan melalui tetapan konfigurasi dalam fail php.ini. Baca lebih lanjut dalam Manual Rujukan Mel PHP kami.




2 🎜>Cara paling mudah untuk menghantar e-mel melalui PHP adalah dengan menghantar e-mel teks.

Dalam contoh berikut, kami mula-mula mengisytiharkan pembolehubah ($kepada, $subjek, $mesej, $from, $headers), dan kemudian kami menggunakan pembolehubah ini dalam fungsi mel() untuk menghantar E - mel

Contoh: Kod adalah seperti berikut

<?php
$to = "1264010730@qq.com";         // 邮件接收者
$subject = "参数邮件";                // 邮件标题
$message = "Hello! 这是邮件的内容。";  // 邮件正文
$from = "1264010730@qq.com";   // 邮件发送者
$headers = "From:" . $from;         // 头部信息设置
mail($to,$subject,$message,$headers);
echo "邮件已发送";
?>

3. Borang Mel PHP

Melalui PHP, anda boleh mencipta. milik anda Tapak ini mencipta borang maklum balas. Contoh berikut menghantar mesej teks ke alamat e-mel yang ditentukan

Contoh: Kod adalah seperti berikut:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>

<?php
if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件
	// 发送邮件
	$email = $_REQUEST['email'] ;
	$subject = $_REQUEST['subject'] ;
	$message = $_REQUEST['message'] ;
	mail("someone@example.com", $subject,
	$message, "From:" . $email);
	echo "邮件发送成功";
} else { // 如果没有邮箱参数则显示表单
	echo "<form method='post' action='mailform.php'>
	Email: <input name='email' type='text'><br>
	Subject: <input name='subject' type='text'><br>
	Message:<br>
	<textarea name='message' rows='15' cols='40'>
	</textarea><br>
	<input type='submit'>
	</form>";
}
?>
</body>
</html>

Output adalah seperti yang ditunjukkan di sebelah kanan

Penjelasan kod:

Pertama, semak sama ada kotak input e-mel telah diisi

Jika ia tidak diisi (seperti bila halaman dilawati buat kali pertama), keluarkan borang HTML

Jika diisi (selepas borang diisi), hantarkan e-mel daripada borang

Apabila borang diisi dan butang hantar diklik, halaman dimuat semula, anda boleh melihat bahawa input e-mel ditetapkan semula, dan mesej bahawa e-mel berjaya dihantar dipaparkan

Nota: E-mel mudah ini tidak selamat, dan akan dibincangkan dalam bab seterusnya tutorial ini, anda akan membaca lebih lanjut tentang risiko keselamatan dalam skrip e-mel dan kami akan menunjukkan kepada anda cara untuk mengesahkan input pengguna untuk menjadikannya lebih selamat.

Pengalaman pembelajaran: Analisis sebab kegagalan penghantaran

Contoh pertama di atas mungkin menyebabkan mesej ralat berikut

Penjelasan penggera: 58.png

tidak boleh menyambung ke pelayan mel pada port 25 hos, sila sahkan SMTP (Protokol Pemindahan Mel) anda


4. Manual Rujukan Mel PHP

Untuk maklumat lanjut tentang fungsi mel() PHP, sila lawati Manual Rujukan Mel PHP kami.

Meneruskan pembelajaran
||
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件 // 发送邮件 $email = $_REQUEST['email'] ; $subject = $_REQUEST['subject'] ; $message = $_REQUEST['message'] ; mail("someone@example.com", $subject, $message, "From:" . $email); echo "邮件发送成功"; } else { // 如果没有邮箱参数则显示表单 echo "<form method='post' action='mailform.php'> Email: <input name='email' type='text'><br> Subject: <input name='subject' type='text'><br> Message:<br> <textarea name='message' rows='15' cols='40'> </textarea><br> <input type='submit'> </form>"; } ?> </body> </html>
  • Cadangan kursus
  • Muat turun perisian kursus