Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menghantar e-mel menggunakan fungsi e-mel PHP().

Cara menghantar e-mel menggunakan fungsi e-mel PHP().

王林
王林asal
2023-05-22 15:10:362281semak imbas

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!

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