Dengan perkembangan berterusan dan mempopularkan Internet, e-mel telah menjadi bahagian yang sangat diperlukan dalam komunikasi harian orang ramai. Semasa proses pembangunan bahagian belakang laman web, selalunya perlu menggunakan PHP untuk menghantar e-mel untuk memenuhi fungsi seperti pemberitahuan e-mel dan pengesahan pendaftaran. PHP menyediakan fungsi e-mel() untuk menghantar e-mel, dan ia sangat mudah digunakan. Artikel ini akan memperkenalkan secara terperinci cara menggunakan fungsi e-mel() PHP untuk menghantar e-mel.
1. Konfigurasi SMTP
Sebelum menggunakan fungsi e-mel() untuk menghantar e-mel, SMTP perlu dikonfigurasikan. SMTP bermaksud Simple Mail Transfer Protocol, iaitu protokol standard untuk penghantaran e-mel. SMTP memerlukan pelayan SMTP yang disediakan oleh pengendali untuk menghantar e-mel. Secara umumnya, pengendali akan memberikan maklumat seperti alamat pelayan SMTP, port, nombor akaun dan kata laluan. Kita perlu mengkonfigurasi maklumat ini ke dalam PHP.
Berikut ialah contoh konfigurasi SMTP:
$smtpserver = "smtp.qq.com"; // SMTP服务器地址 $smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口) $smtpusermail = "xxx@qq.com"; // 发件人邮箱账号 $smtpuser = "xxx"; // 发件人邮箱用户名 $smtppass = "xxx"; // 发件人邮箱密码
2 Gunakan fungsi e-mel() untuk menghantar e-mel
Menggunakan fungsi e-mel() untuk menghantar e-mel memerlukan perkara berikut. parameter:
email($to, $subject, $body, $headers);
Antaranya, $to merujuk kepada alamat e-mel penerima, $subjek merujuk kepada subjek e-mel, $body merujuk kepada kandungan e-mel dan $headers merujuk kepada maklumat pengepala e-mel (pilihan).
Berikut ialah penggunaan khusus fungsi e-mel():
$to = "xxx@xxx.com"; // 收件人邮箱地址 $subject = "测试邮件"; // 邮件主题 $body = "这是一封测试邮件,请勿回复!"; // 邮件内容 $mailtype = "HTML"; // 邮件类型(HTML或文本) $charset = "UTF-8"; // 编码方式 // MIME版本 $headers = "MIME-Version:1.0 "; // 邮件类型 $headers .= "Content-type:text/".$mailtype.";charset=".$charset." "; // 发件人地址 $headers .= "From: xxx@xxx.com "; // 服务器认证信息 $headers .= "Authorization: login ".$smtpuser.",password=".$smtppass." "; // 发送邮件 $smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpusermail, $smtppass); $smtp->debug = FALSE; $smtp->sendmail($to, $smtpusermail, $subject, $body, $headers); echo "邮件发送成功!";
Sebelum menghantar e-mel, anda perlu mencipta contoh kelas SMTP. Kelas SMTP ialah perpustakaan kelas pihak ketiga yang perlu dirujuk dalam PHP. Berikut ialah kaedah rujukan perpustakaan kelas SMTP:
require_once("class.smtp.php"); require_once("class.phpmailer.php");
3. Kod lengkap
Berdasarkan kod di atas, kami akan melengkapkannya dan membuat beberapa pelarasan untuk pemahaman yang lebih baik dan menggunakan kaedah fungsi e-mel(). Berikut ialah kod lengkap:
// SMTP配置 $smtpserver = "smtp.qq.com"; // SMTP服务器地址 $smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口) $smtpusermail = "xxx@qq.com"; // 发件人邮箱账号 $smtpuser = "xxx"; // 发件人邮箱用户名 $smtppass = "xxx"; // 发件人邮箱密码 // 邮件配置 $to = "xxx@xxx.com"; // 收件人邮箱地址 $subject = "测试邮件"; // 邮件主题 $body = "这是一封测试邮件,请勿回复!"; // 邮件内容 $mailtype = "HTML"; // 邮件类型(HTML或文本) $charset = "UTF-8"; // 编码方式 // MIME版本 $headers = "MIME-Version:1.0 "; // 邮件类型 $headers .= "Content-type:text/".$mailtype.";charset=".$charset." "; // 发件人地址 $headers .= "From: xxx@xxx.com "; // 服务器认证信息 $headers .= "Authorization: login ".$smtpuser.",password=".$smtppass." "; // 引用SMTP和PHPMailer类库 require_once("class.smtp.php"); require_once("class.phpmailer.php"); // 发送邮件 $smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpusermail, $smtppass); $smtp->debug = FALSE; $smtp->sendmail($to, $smtpusermail, $subject, $body, $headers); echo "邮件发送成功!";
Menggunakan fungsi e-mel() untuk menghantar e-mel adalah sangat mudah Anda hanya perlu mengkonfigurasi maklumat SMTP dan e-mel, dan memanggil kaedah sendmail() dalam kelas SMTP. Semasa proses penghantaran, anda perlu memberi perhatian kepada perkara berikut:
1 Pustaka kelas SMTP ialah perpustakaan kelas pihak ketiga, dan kami perlu merujuknya dalam PHP.
2. Kandungan e-mel dalam fungsi e-mel() tidak boleh mengandungi tag HTML khas, seperti <, kerana simbol ini tidak mematuhi spesifikasi protokol SMTP dan akan menyebabkan e-mel gagal menjadi dihantar.
3 Memandangkan pelayan SMTP mempunyai had pada saiz e-mel, jika e-mel terlalu besar, ia mungkin gagal dihantar.
Ringkasnya, adalah sangat mudah untuk menggunakan fungsi e-mel() PHP untuk menghantar e-mel, yang boleh merealisasikan pelbagai pemberitahuan e-mel, pengesahan pendaftaran, mendapatkan kata laluan dan fungsi lain dalam pembangunan bahagian belakang laman web. Saya harap artikel ini dapat membantu pembangun PHP.
Atas ialah kandungan terperinci Cara menghantar e-mel menggunakan fungsi e-mel PHP().. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!