PHP Envoi d'e-mail


PHP vous permet d'envoyer des e-mails directement depuis un script.


Fonction PHP mail()

La fonction mail() de PHP est utilisée pour envoyer des e-mails depuis un script.

Syntaxe

mail(to,subject,message,headers,parameters)

Paramètre Description
à Obligatoire. Spécifie le destinataire de l'e-mail.
subject Requis. Spécifie l'objet de l'e-mail.Remarque :Ce paramètre ne peut contenir aucun caractère de saut de ligne.
message Obligatoire. Définit le message à envoyer. Utilisez LF (\n) pour séparer les lignes. Chaque ligne doit être limitée à 70 caractères.
headers Facultatif. Spécifie des en-têtes supplémentaires, tels que From, Cc et Bcc. Les en-têtes supplémentaires doivent être séparés par CRLF (\r\n).
parameters Facultatif. Spécifie des paramètres supplémentaires pour le programme d'envoi d'e-mails.

Remarque :PHP nécessite un système de messagerie installé et fonctionnel (tel que sendmail, postfix, qmail, etc.) pour exécuter les fonctions de messagerie. Le programme utilisé est défini par les paramètres de configuration dans le fichier php.ini. Veuillez consulter notreManuel de référence PHP Mailpour en savoir plus.


E-mail simple en PHP

La façon la plus simple d'envoyer un e-mail avec PHP est d'envoyer un e-mail en texte brut.

Dans l'exemple ci-dessous, nous déclarons d'abord les variables ($to, $subject, $message, $from, $headers), puis nous utilisons ces variables dans la fonction mail() pour envoyer un e-mail :

<?php
$to = "[email protected]";         // 邮件接收者
$subject = "参数邮件";                // 邮件标题
$message = "Hello! 这是邮件的内容。";  // 邮件正文
$from = "[email protected]";   // 邮件发送者
$headers = "From:" . $from;         // 头部信息设置
mail($to,$subject,$message,$headers);
echo "邮件已发送";
?>


Formulaire d'e-mail PHP

Avec PHP, vous pouvez créer un formulaire de retour sur votre propre site. L'exemple ci-dessous envoie un message texte à une adresse e-mail spécifiée :

<html>
<head>
<meta charset="utf-8">
<title>Example(example.com)</title>
</head>
<body>

<?php
if (isset($_REQUEST['email'])) { // 如果接收到邮箱参数则发送邮件
    // 发送邮件
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("[email protected]", $subject,
    $message, "From:" . $email);
    echo "邮件发送成功";
} else { // 如果没有邮箱参数则显示表单
    echo "<form method='post' action='mailform.php'>
    Email: <input name='email' type='text'><br>
    Subject: <input name='subject' type='text'><br>
    Message:<br>
    <textarea name='message' rows='15' cols='40'>
    </textarea><br>
    <input type='submit'>
    </form>";
}
?>

</body>
</html>

Explication de l'exemple :
  • Tout d'abord, vérifiez si le champ de saisie de l'e-mail a été rempli
  • S'il n'a pas été rempli (par exemple, lors du premier accès à la page), affichez un formulaire HTML
  • S'il a été rempli (après que le formulaire a été rempli), envoyez un e-mail à partir du formulaire
  • Après avoir rempli le formulaire et cliqué sur le bouton d'envoi, la page se recharge, et vous pouvez voir que la saisie de l'e-mail a été réinitialisée et qu'un message indiquant que l'e-mail a bien été envoyé s'affiche

Remarque :Cet envoi d'e-mail simple n'est pas sécurisé. Dans le prochain chapitre de ce tutoriel, vous en apprendrez davantage sur les problèmes de sécurité dans les scripts d'e-mail, et nous expliquerons comment valider les entrées utilisateur pour le rendre plus sécurisé.


Manuel de référence de PHP Mail

Pour plus d'informations sur la fonction mail() de PHP, veuillez consulter notreManuel de référence PHP Mail。

Autres extensions