php

Utilisation de la fonction mail() en PHP sur Ubuntu

Utilisation de la fonction mail() en PHP sur Ubuntu

La fonction mail () est une fonction PHP intégrée qui est utilisée pour envoyer des e-mails à partir de l'hôte local. Mais certaines configurations sont nécessaires pour envoyer des emails en utilisant cette fonction. Vous aurez besoin des informations réelles du serveur de messagerie pour configurer la configuration. Vous pouvez utiliser les informations de serveur de messagerie de votre serveur d'hébergement actif, ou vous pouvez utiliser n'importe quelle information de serveur de messagerie gratuite. Un compte Gmail et les informations du serveur SMTP de Gmail sont utilisés dans ce tutoriel pour envoyer des e-mails à l'aide de la fonction mail().

Configuration de l'installation

Deux fichiers seront à modifier pour paramétrer la configuration : le php.ini fichier et un autre fichier est requis pour configurer le serveur de messagerie. Suivez les étapes ci-dessous pour configurer la configuration. De nombreux packages sont disponibles en PHP pour l'envoi d'un email. msmtp est un client de serveur de messagerie PHP utilisé dans ce didacticiel pour envoyer des e-mails à l'aide de la fonction PHP mail().

Pas:

Exécutez la commande suivante pour installer le msmtp package sur Ubuntu pour configurer le serveur de messagerie :

$ sudo apt-get install msmtp

Créez un fichier de configuration nommé /etc/msmtprc avec la commande suivante :

$ sudo nano /etc/msmtprc

Ajoutez le contenu suivant au fichier. Ajoutez l'adresse e-mail valide pour le utilisateur et le mot de passe valide pour le le mot de passe qui sera utilisé pour envoyer un e-mail. Définissez l'adresse e-mail de l'expéditeur pour forme valeur.

valeurs par défaut
tls sur
tls_starttls activé
tls_trust_file /etc/ssl/certs/ca-certificates.crt
compte par défaut
hôte smtp.Gmail.com
port 587
authentification activée
nom d'[email protected]
mot de passe user_password
de sender_email_address

Exécutez les commandes suivantes pour définir la propriété et l'autorisation pour fichier /etc/msmtprc:

$ sudo chown fahmida /etc/msmtprc
$ sudo chmod 0600 /etc/msmtprc

Ouvrez le php.ini fichier et modifiez le contenu suivant avec les valeurs suivantes :

SMTP=smtp.Gmail.com
port_smtp=587
sendmail_path = "/usr/bin/msmtp -t -i"

Syntaxe:

bool mail (string $to, string $subject, string $message [, mixed $additional_headers [, string $additional_parameters ]])

Cette fonction peut prendre quatre arguments. Le premier argument prend l'adresse e-mail du destinataire. Le deuxième argument reprend l'objet de l'e-mail. Le troisième argument prend le corps de l'e-mail. Le dernier argument est facultatif et contient des informations supplémentaires sur l'e-mail sous forme de chaîne ou de tableau.

Envoi d'e-mails à l'aide de la fonction mail()

Différents exemples d'envoi d'email à l'aide de la fonction mail() de PHP sont présentés dans cette section du tutoriel.

Exemple 1 : envoyer un simple e-mail texte

Cet exemple montre comment un simple e-mail texte peut être envoyé à l'aide de la fonction mail(). Créez un fichier PHP avec le script suivant.

Vous devez définir une adresse e-mail valide pour variable pour obtenir la sortie du script suivant. Un texte simple est défini comme corps de message.

//Définir l'adresse e-mail du destinataire
$to = "[email protégé]" ;
//Définir l'objet de l'e-mail
$subject = "C'est un e-mail de test";
//Définir le corps de l'e-mail
$message = "Il teste le corps de l'e-mail" ;
//Définir les informations d'en-tête
$headers = "From : [email protected]\r\n" ;
$ en-têtes .= "Répondre à : [email protégé]\r\n" ;
//Envoyer un e-mail à l'aide de la fonction message mail()
if(mail($à,$sujet,$message,$en-têtes))

echo "L'email a été envoyé avec succès.\r\n";

autre
echo "L'e-mail n'a pas été envoyé.
";

?>

La sortie suivante apparaîtra après l'exécution du script à partir du serveur Web si la fonction mail() fonctionne correctement.


La sortie suivante apparaîtra si vous vérifiez la boîte de réception de l'adresse e-mail qui a été définie comme adresse e-mail du destinataire.

Exemple 2 : envoyer un e-mail au format HTML

Cet exemple montre comment un e-mail au format HTML peut être envoyé à l'aide de la fonction mail(). Créez un fichier PHP avec le script suivant.

$message la variable est initialisée avec le contenu HTML qui sera envoyé sous forme de corps d'e-mail. Il est mentionné dans le $ en-tête variable que le contenu de l'email est HTML.

//Définir l'adresse e-mail du destinataire
$to = "[email protégé]" ;
//Définir l'objet de l'e-mail
$subject = 'Enregistrement réussi';
//Définir le corps de l'e-mail
$message = '

Votre inscription est terminée avec succès.


nom d'utilisateur = fahmida20

mot de passe = aswQ34ghqw


';
//Définir le retour chariot
$nl = "\r\n" ;
//Définir l'en-tête Content-type
$headers = 'MIME-Version : 1.0'.$nl ;
$ en-têtes .= 'Type de contenu : texte/html ; jeu de caractères=iso-8859-1'.$nl ;
//Définir les informations d'en-têtes supplémentaires
$ en-têtes .= 'À : Mehrab Hossain'.$nl ;
$ en-têtes .= 'De : Administrateur '.$nl ;
$ en-têtes .= 'Cc : [email protégé]'.$nl ;
//Envoyer un e-mail en utilisant la fonction message mail()
if(mail($à,$sujet,$message,$en-têtes))
echo "L'email a été envoyé avec succès.\r\n";

autre
echo "L'e-mail n'a pas été envoyé. \r\n";

?>

La sortie suivante apparaîtra après l'exécution du script à partir du serveur Web si la fonction mail() fonctionne correctement.


La sortie suivante apparaîtra si vous vérifiez la boîte de réception de l'adresse e-mail qui a été définie comme adresse e-mail du destinataire.

Exemple 3 : envoyer un e-mail avec la pièce jointe

Cet exemple montre comment un e-mail peut être envoyé en joignant un fichier texte. Créez un fichier texte avec le script suivant.

Le contenu du fichier texte est lu et encodé avant la pièce jointe et la fonction md5() est utilisée dans le script pour générer un nombre aléatoire pour le contenu mixte. Toutes les informations nécessaires sont ajoutées dans $ en-têtes et $message variables avant d'envoyer l'e-mail.

//Définir l'adresse e-mail du destinataire
$to = "[email protégé]" ;
//Définir l'objet de l'e-mail
$subject = "Fichier joint" ;
//Définir le retour chariot
$nl = "\r\n" ;
//Définir un hachage aléatoire qui sera utilisé pour le contenu mixte
$separator = md5(time());
//Lire le contenu du fichier joint
$filename = 'monfichier.SMS';
$content = file_get_contents($filename);
$content = chunk_split(base64_encode($content));
//Définir l'e-mail avec les informations de pièce jointe
$message = "--" . $séparateur . $nl ;
$message .= "Type de contenu : text/plain ; charset="iso-8859-1"" . $nl ;
$message .= "Encodage de transfert de contenu : 8 bits" . $nl ;
$message .= "Un fichier texte est joint à l'e-mail." . $nl ;
$message .= "--" . $séparateur . $nl ;
$message .= "Type de contenu : application/octet-stream ; name="" . $nom de fichier . """ . $nl ;
$message .= "Encodage de transfert de contenu : base64" . $nl ;
$message .= "Contenu-Disposition : pièce jointe" . $nl ;
$message .= $contenu . $nl ;
$message .= "--" . $séparateur . "--" ;
//Définir l'en-tête Content-type
$headers = 'MIME-Version : 1.0'.$nl ;
$ en-têtes .= "De : [email protégé]".$nl ;
$ en-têtes .= "Répondre à : [email protégé]".$nl ;
$ en-têtes .= "Type de contenu : multipart/mixte ; bound="" . $séparateur . """ .$nl ;
//Envoyer un e-mail à l'aide de la fonction message mail()
if(mail($à,$sujet,$message,$en-têtes))
echo "L'email a été envoyé avec une pièce jointe avec succès.\r\n";

autre
echo "L'e-mail n'a pas été envoyé. \r\n";

?>

La sortie suivante apparaîtra après l'exécution du script à partir du serveur Web si la fonction mail() fonctionne correctement.


La sortie suivante apparaîtra si vous vérifiez la boîte de réception de l'adresse e-mail qui a été définie comme adresse e-mail du destinataire.

Conclusion

De nombreuses façons existent en PHP pour envoyer des emails. La fonction PHP mail() ne fonctionne pas correctement sur Ubuntu après avoir défini la configuration. Ce tutoriel montre les configurations nécessaires et la manière d'envoyer des emails en utilisant la fonction PHP mail().

Ajoutez des gestes de souris à Windows 10 à l'aide de ces outils gratuits
Ces dernières années, les ordinateurs et les systèmes d'exploitation ont considérablement évolué. Il fut un temps où les utilisateurs devaient utilise...
Contrôlez et gérez le mouvement de la souris entre plusieurs moniteurs dans Windows 10
Gestionnaire de souris à double affichage vous permet de contrôler et de configurer le mouvement de la souris entre plusieurs moniteurs, en ralentissa...
WinMouse vous permet de personnaliser et d'améliorer le mouvement du pointeur de la souris sur un PC Windows
Si vous souhaitez améliorer les fonctions par défaut de votre pointeur de souris, utilisez un logiciel gratuit WinMouse. Il ajoute plus de fonctionnal...