Avec le développement d'Internet, le courrier électronique, en tant que moyen de communication important, est devenu un élément indispensable de la vie quotidienne des gens. L'envoi d'e-mails à partir de code est une tâche courante pour les développeurs Web. PHP fournit la fonction d'envoi d'e-mails via SMTP (Simple Mail Transfer Protocol), et cet article vous fournira un guide complet.
1. Introduction à SMTP
SMTP est un protocole standard pour envoyer et recevoir des emails vers un serveur ou un client. C'est un protocole de transfert de texte. Les serveurs SMTP sont généralement utilisés pour envoyer des e-mails, tandis que les serveurs POP (Post Office Protocol) ou IMAP (Internet Message Access Protocol) sont utilisés pour recevoir des e-mails.
La fonction principale de SMTP est de tenter de transmettre le courrier d'un serveur à l'autre jusqu'à ce que le courrier atteigne sa destination. Lorsqu'un client SMTP souhaite envoyer un courrier, il se connecte au serveur, envoie les données du courrier au serveur, et le serveur tente ensuite de transmettre le courrier au serveur suivant jusqu'à ce que le courrier atteigne le serveur SMTP du destinataire. Le serveur SMTP utilise le port numéro 25 pour la communication.
2. Fonction d'envoi d'e-mails PHP
Pour utiliser SMTP pour envoyer des e-mails en PHP, nous devons utiliser la fonction d'envoi d'e-mails intégrée de PHP. Ces fonctions sont :
La façon la plus simple d'envoyer des emails en PHP est d'utiliser la fonction mail(). Cette fonction envoie du courrier via le programme "sendmail" dans la configuration PHP. Cette fonction a les paramètres suivants :
Exemple de code :
$to = "someone@example.com"; $subject = "Test mail"; $message = "Hello! This is a test email."; $headers = "From: sender@example.com"; mail($to, $subject, $message, $headers);
$to = "someone@example.com"; $subject = "Test mail"; $message = "Hello! This is a test email."; $headers = "From: sender@example.com"; $smtp_username = "smtp_username"; $smtp_password = "smtp_password"; $smtp_host = "smtp.example.com"; $smtp_port = 587; smtp_mail($to, $subject, $message, $headers, $smtp_username, $smtp_password, $smtp_host, $smtp_port);
//引入PHPMailer库 require_once('PHPMailer/class.phpmailer.php'); //实例化PHPMailer类 $mail = new PHPMailer(); //设置SMTP服务器 $mail->IsSMTP(); $mail->SMTPAuth = true; $mail->SMTPSecure = 'ssl'; $mail->Host = 'smtp.example.com'; $mail->Port = 465; $mail->Username = 'smtp_username'; $mail->Password = 'smtp_password'; //设置邮件头信息 $mail->From = 'sender@example.com'; $mail->AddAddress('recipient@example.com'); $mail->Subject = 'Test email'; $mail->Body = 'This is a test email message.'; //发送邮件 if(!$mail->Send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; }
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!