Maison  >  Article  >  développement back-end  >  Courrier PHP()

Courrier PHP()

WBOY
WBOYoriginal
2024-08-29 13:08:50532parcourir

La fonction mail() permet d'envoyer si facilement les mails directement à partir du script. Il accepte généralement cinq paramètres mais seuls les trois premiers d'entre eux sont obligatoires et les deux autres paramètres sont facultatifs et non obligatoires si tous les paramètres sont mentionnés entre parenthèses de la fonction mail(). Il permet d'envoyer du courrier directement à partir de sites Web ou de blogs chaque fois que nécessaire, en utilisant un formulaire ou un autre. Il s'agit d'une fonction intégrée du langage de programmation PHP qui permet d'envoyer des e-mails à partir du ou des scripts PHP. Il est rentable de notifier les utilisateurs de tâches ou d'événements importants.

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Syntaxe et paramètres

Vous trouverez ci-dessous la syntaxe

mail(to1, subject1, message1, headers1, parameters1);

Explication des paramètres de la fonction mail() :

  • Paramètre to1 de la fonction mail() : Le paramètre « to1 » de la fonction mail() du langage de programmation PHP est un champ obligatoire. Cela aide à spécifier le(s) destinataire(s) du courrier.
  • Paramètre subject1 de la fonction mail() : Le paramètre « subject1 » de la fonction mail() du Langage de Programmation PHP est également un champ obligatoire. Cela aide à spécifier le sujet de l’e-mail. Ce paramètre peut ou non contenir tout type de caractères de nouvelle ligne.
  • Paramètre message1 de la fonction mail() : Le paramètre « message1 » de la fonction mail() du langage de programmation PHP est également un champ obligatoire tout comme les 2 paramètres ci-dessus. Cela aide à définir le message qui va être envoyé. Chaque ligne doit être séparée par un certain LF (n). Chaque ligne ne doit pas comporter plus de 70 caractères. Sous Windows, si FULLSTOP est trouvé au début d'une ligne spécifique dans un message, il peut être supprimé. Afin de résoudre ce type de problème, nous devons remplacer le caractère FULL STOP par le caractère double point « .. ».
  • Paramètre headers1 de la fonction mail() : Le paramètre headers1 du langage PHP est un champ facultatif mais il aide à spécifier des en-têtes supplémentaires qui sont comme les fonctions Cc, From, Bcc. Certains des en-têtes supplémentaires seront séparés par CRLF – (rn). Lorsque nous sommes en train d'envoyer un EMAIL, celui-ci peut contenir un en-tête From. Cela peut être défini avec ce paramètre headers1 ou dans un fichier au format PHP.INI.
  • Paramètre paramètres1 de la fonction mail() : Le paramètre paramètres1 de la fonction mail est facultatif. Ce paramètre spécifie le paramètre supplémentaire. Cela aide à spécifier le paramètre supplémentaire du programme d'envoi d'e-mails. Ce paramètre sera défini sur l'adresse de l'expéditeur de l'enveloppe lorsque nous utiliserons l'option –f send mail.

Comment fonctionne la fonction mail() en PHP ?

La fonction mail() du langage de programmation PHP fonctionne simplement en aidant à envoyer des mails directement à partir du script PHP lui-même. Cela fonctionne pour les versions PHP 4+. Avant la version PHP 4, ce mail() ne fonctionne pas, alors n'essayez pas la fonction mail() si votre version PHP est antérieure à la version PHP 4. Cela fonctionne en renvoyant la valeur de hachage du paramètre d'adresse. Mais nous devons garder à l’esprit que même si le courrier est accepté pour la livraison, cela ne signifie pas que l’e-mail est réellement reçu ou envoyé.

La version PHP 4.0.5 est ajoutée avec le paramètre paramètre1. Dans la version PHP 4.2.3 PHP, le paramètre paramètre1 est désactivé en mode sans échec. En version PHP 4.3.0 sous le système d'exploitation Windows accepte certains en-têtes personnalisés comme Cc, Bcc, From, Date et ils ne sont pas sensibles à la casse. Dans la version PHP 5.4, la protection contre l'injection d'en-tête est ajoutée uniquement à des fins de paramètre d'en-tête. En version PHP 7.2, le paramètre headers1 va également accepter un tableau.

Exemples

Voici les exemples mentionnés :

Exemple n°1

Ici, dans cet exemple, nous allons implémenter la fonction mail() du langage de programmation PHP. Ici, dans un premier temps, les balises PHP sont créées et à l'intérieur, certaines variables sont créées avec certaines valeurs. Au début, « to_email1 » est créé avec une valeur de chaîne qui est l'adresse e-mail/gmail de l'adresse spécifique nécessaire pour envoyer le courrier. Ensuite, la variable « subject1 » est créée avec un contenu de chaîne à afficher en tant que sujet, puis la variable de message est créée, puis elle se voit attribuer des informations de texte de message importantes/autres. Il s'agit de préciser les informations à la personne de l'adresse to_email1. Ensuite, la variable header1 est créée. Ensuite, la fonction principale PHP mail() est utilisée. Ici, 4 paramètres sont inclus dans la fonction mail(). Cette fonction aidera à envoyer un mail avec le script PHP lui-même.

Code :

<?php
$to_email1 = 'name1 @ company .com';
$subject1 = 'Testing the PHP Mail';
$message1 = 'This mail is sent using the PHP mail function';
$headers1 = 'From: noreply @ company .com';
mail($to_email1,$subject1,$message1,$headers1);
?>

Sortie :

Courrier PHP()

Example #2

This is the example of implementing the custom functions which helps in sending the secure mail to a specific person only with the help of the mail() function inside the PHP script. Here at first a function with some fields are created along with the condition statements. Then “to_email1” variable is created with some email address. Then subject1, messages, and headers1 variables are created. Based on the IF ELSE conditions and the mail() function along with the HTML display elements the program will run and the mail will be sent to the specified email person or other but the PHP.INI file settings should be perfect or use any online compiler if possible.

Code:

<?php
functionsanitize_my_email($field1) {
$field1 = filter_var($field1, FILTER_SANITIZE_EMAIL);
if (filter_var($field1, FILTER_VALIDATE_EMAIL)) {
return true;
} else {
return false;
}
}
$to_email1 = 'name @ company .com';
$subject1 = 'Testing PHP Mail';
$message1 = 'This mail is sent using the PHP mail ';
$headers1 = 'From: noreply @ company. com';
//check whether the email address is invalid or not $secure_check
$secure_check1 = sanitize_my_email($to_email1);
if ($secure_check1 == false) {
echo "Invalid input";
} else { //send email
mail($to_email1, $subject1, $message1, $headers1);
echo "This email is now sent using the PHP Mail";
}
?>

Output:

Courrier PHP()

Example #3

This is the example of implementing the PHP mail() function without using the header1 parameter inside of the mail() function of the PHP Programming Language. It is a simple mail but the header1 parameter is not used.

Code:

<?php
$to1 = '[email&#160;protected]';
$subject1 = 'The Marriage Proposal';
$message1 = 'Hi Radha, will you marry me? Say Yes or No';
$from1 = '[email&#160;protected]';
// Sending email
if(mail($to1, $subject1, $message1)){
echo 'Now Your mail will be sent automatically and successfully.';
} else{
echo 'Now it is Unable to send the email/gmail. Please try again.';
}
?>

Output:

Courrier PHP()

Example #4

This is the example of implementing the PHP mail() function in order to send an attachment file along with the mail. Here at first HTML form is created for some variable values and to get the attachment file. After clicking the submit button the PHP mail() function works with the help of the PHP mail function code. Then the output text will be displayed as shown in the output section below.

HTML File Code:

<html>
<body>
<form enctype="multipart/form-data" method="POST" action="string22.php">
<label>Your Name1 <input type="text" name="sender_name1" /></label><br>
<label>Your Email1 <input type="email" name="sender_email1" /></label><br>
<label>Subject1 <input type="text" name="subject1" /></label><br>
<label>Message1 <textarea name="message1"></textarea></label><br>
<label>Attachment1 <input type="file" name="attachment1" /></label><br>
<label><input type="submit" name="button" value="Submit" /></label><br>
</form>
</body>
</html>

PHP File Code:

<?php
if($_POST['button'] &&isset($_FILES['attachment1']))
{
$from_email         = '[email&#160;protected]'; //from mail, sender email addrress
$recipient_email    = '[email&#160;protected]'; //recipient email addrress
//Load POST data from HTML form
$sender_name1    = $_POST["sender_name1"] //sender name1
$reply_to_email = $_POST["sender_email1"] //sender email1, it will be used in "reply-to" header
$subject1        = $_POST["subject1"] //subject1 for the email
$message1        = $_POST["message1"] //message1 body1 of the email
//Get uploaded file data using $_FILES array
$tmp_name    = $_FILES['my_file']['tmp_name']; // Now get the temporary file name1 of the file on the server
$name        = $_FILES['my_file']['name'];  // Now get the name of the file1
$size        = $_FILES['my_file']['size'];  // Now get size of the file1 for size validation
$type        = $_FILES['my_file']['type'];  // Now get type of the file1
$error       = $_FILES['my_file']['error']; // Now get the error (if any)
//It is a validating form field which helps in attaching the file
if($file_error> 0)
{
die('Upload error or No files uploaded');
}
//It is like reading from a specific uploaded file and also the base64_encode content1
$handle1 = fopen($tmp_name, "r");  // Now setting the file handle1 only for reading the file
$content1 = fread($handle1, $size); // Now reading the file
fclose($handle1);                  // Now close upon completion
$encoded_content11 = chunk_split(base64_encode($content1));
$boundary1 = md5("random"); // Now defining the boundary1 with a md5 hashed value
//Now header
$headers1 = "MIME-Version: 1.0\r\n"; // Now Defining the MIME version
$headers1 .= "From:".$from_email."\r\n"; // Now the Sender Email
$headers1 .= "Reply-To: ".$reply_to_email."\r\n"; // Now Email addrress to reach back
$headers1 .= "content1-Type: multipart/mixed;\r\n"; // Now Defining content1-Type
$headers1 .= "boundary1 = $boundary1\r\n"; // Now Defining the boundary1
//Now this is about plain text
$body1 = "--$boundary1\r\n";
$body1 .= "content1-Type: text/plain; charset=ISO-8859-1\r\n";
$body1 .= "content1-Transfer-Encoding: base64\r\n\r\n";
$body1 .=chunk_split(base64_encode($message1));
//NOw attachment1
$body1 .= "--$boundary1\r\n";
$body1 .="content1-Type: $file_type; name=".$file_name."\r\n";
$body1 .="content1-Disposition: attachment1; filename=".$file_name."\r\n";
$body1 .="content1-Transfer-Encoding: base64\r\n";
$body1 .="X-attachment1-Id: ".rand(1000, 99999)."\r\n\r\n";
$body1 .= $encoded_content11; // NOw Attaching the encoded file with email
$sentMailResult1 = mail($recipient_email, $subject1, $body1, $headers1);
if($sentMailResult1 )
{
echo "This mail is sent using the PHP mail function"; // Now it will be printed only if the file is going to be sent successfully
unlink($name); // Now deleting the file just after the attachment1 is sent.
}
else
{
die("Sorry attachment mail not sent");
}
}
?>

Output of HTML Code:

Courrier PHP()

Output of PHP Code:

Courrier PHP()

Conclusion

We hope you learned what is the definition of PHP mail() function along with its syntax and explanation of the parameter of the mail() function, How the mail() function works in PHP along with various examples to under mail() concept better and so easily.

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
Article précédent:Validation en PHPArticle suivant:Validation en PHP