Home  >  Article  >  Backend Development  >  How to send emails using PHP email() function

How to send emails using PHP email() function

王林
王林Original
2023-05-22 15:10:362341browse

With the continuous development and popularization of the Internet, email has become an indispensable part of people's daily communication. During the website backend development process, it is often necessary to use PHP to send emails to meet functions such as email notifications and registration verification. PHP provides the email() function to send emails, and it is very simple to use. This article will introduce in detail how to use PHP's email() function to send emails.

1. SMTP configuration

Before using the email() function to send emails, SMTP needs to be configured. SMTP stands for Simple Mail Transfer Protocol, which is a standard protocol for email transmission. SMTP requires the SMTP server provided by the operator to send emails. Generally speaking, operators will provide information such as SMTP server address, port, account number, and password. We need to configure this information into PHP.

The following is an SMTP configuration example:

$smtpserver = "smtp.qq.com"; // SMTP服务器地址
$smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口)
$smtpusermail = "xxx@qq.com"; // 发件人邮箱账号
$smtpuser = "xxx"; // 发件人邮箱用户名
$smtppass = "xxx"; // 发件人邮箱密码

2. Use the email() function to send emails

Using the email() function to send emails requires the following parameters:

email($to, $subject, $body, $headers);

Among them, $to refers to the recipient's email address, $subject refers to the email subject, $body refers to the email content, and $headers refers to the email header information (optional).

The following is the specific usage of the email() function:

$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 "邮件发送成功!";

Before sending an email, you need to create an SMTP class instance. The SMTP class is a third-party class library that needs to be referenced in PHP. The following is the reference method of the SMTP class library:

require_once("class.smtp.php");
require_once("class.phpmailer.php");

3. Complete code

Based on the above code, we will complete it and make some adjustments for better understanding and use method of email() function. The following is the complete code:

// 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 "邮件发送成功!";

It is very simple to use the email() function to send emails. You only need to configure SMTP and email information and call the sendmail() method in the SMTP class. During the sending process, you need to pay attention to the following points:

1. The SMTP class library is a third-party class library, and we need to reference it in PHP.

2. The email content within the email() function cannot contain special HTML tags, such as <, because this symbol does not comply with the specifications of the SMTP protocol and will cause the email to fail to be sent.

3. Since the SMTP server has limits on the size of emails, if the email is too large, it may fail to be sent.

In short, it is very convenient to use PHP's email() function to send emails, which can realize various email notifications, registration verification, password retrieval and other functions in website backend development. I hope this article can be helpful to PHP developers.

The above is the detailed content of How to send emails using PHP email() function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn