Maison  >  Article  >  développement back-end  >  Comment envoyer des e-mails en utilisant la fonction PHP email()

Comment envoyer des e-mails en utilisant la fonction PHP email()

王林
王林original
2023-05-22 15:10:362377parcourir

Avec le développement et la vulgarisation continus d'Internet, le courrier électronique est devenu un élément indispensable de la communication quotidienne des gens. Au cours du processus de développement du backend du site Web, il est souvent nécessaire d'utiliser PHP pour envoyer des e-mails afin de répondre à des fonctions telles que les notifications par e-mail et la vérification de l'inscription. PHP fournit la fonction email() pour envoyer des e-mails, et elle est très simple à utiliser. Cet article présentera en détail comment utiliser la fonction email() de PHP pour envoyer des e-mails.

1. Configuration SMTP

Avant d'utiliser la fonction email() pour envoyer des e-mails, SMTP doit être configuré. SMTP signifie Simple Mail Transfer Protocol, qui est un protocole standard pour la transmission d'e-mails. SMTP nécessite le serveur SMTP fourni par l'opérateur pour envoyer les emails. De manière générale, les opérateurs fourniront des informations telles que l'adresse du serveur SMTP, le port, le numéro de compte et le mot de passe. Nous devons configurer ces informations en PHP.

Ce qui suit est un exemple de configuration SMTP :

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

2. Utilisez la fonction email() pour envoyer des emails

L'utilisation de la fonction email() pour envoyer des emails nécessite les paramètres suivants :

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

Parmi eux, $to fait référence à l'adresse e-mail du destinataire, $subject fait référence au sujet de l'e-mail, $body fait référence au contenu de l'e-mail et $headers fait référence aux informations d'en-tête de l'e-mail (facultatif).

Voici l'utilisation spécifique de la fonction email() :

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

Avant d'envoyer un e-mail, vous devez créer une instance de classe SMTP. La classe SMTP est une bibliothèque de classes tierce qui doit être référencée en PHP. Voici la méthode de référence de la bibliothèque de classes SMTP :

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

3. Code complet

Sur la base du code ci-dessus, nous allons le compléter et apporter quelques ajustements pour mieux comprendre comment utiliser la fonction email(). Voici le code complet :

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

Utiliser la fonction email() pour envoyer des e-mails est très simple. Il vous suffit de configurer SMTP et les informations de courrier électronique, et d'appeler la méthode sendmail() dans la classe SMTP. Pendant le processus d'envoi, vous devez faire attention aux points suivants :

1. La bibliothèque de classes SMTP est une bibliothèque de classes tierce, et nous devons la référencer en PHP.

2. Le contenu de l'e-mail dans la fonction email() ne peut pas contenir de balises HTML spéciales, telles que <, car ce symbole n'est pas conforme aux spécifications du protocole SMTP et entraînera l'échec de l'envoi de l'e-mail.

3. Étant donné que le serveur SMTP a des limites sur la taille des e-mails, si l'e-mail est trop volumineux, il risque de ne pas être envoyé.

En bref, il est très pratique d'utiliser la fonction email() de PHP pour envoyer des e-mails, qui peut réaliser diverses notifications par e-mail, vérification d'enregistrement, récupération de mot de passe et d'autres fonctions dans le développement backend de sites Web. J'espère que cet article pourra être utile aux développeurs PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn