Utilisation de la fonction de courrier dans PHP sur Ubuntu

Utilisation de la fonction de courrier dans PHP sur Ubuntu

La fonction Mail () est une fonction PHP intégrée qui est utilisée pour envoyer un e-mail à partir du localhost. Mais certaines configurations sont nécessaires pour envoyer un e-mail en utilisant cette fonction. Vous aurez besoin des informations réelles du serveur de messagerie pour configurer la configuration. Vous pouvez utiliser les informations sur le serveur de messagerie de votre serveur d'hébergement actif, ou vous pouvez utiliser toutes les informations de serveur de messagerie gratuites. Un compte Gmail et les informations du serveur SMTP de Gmail sont utilisées dans ce tutoriel pour envoyer un e-mail à l'aide de la fonction Mail ().

Configuration de configuration

Deux fichiers devront modifier pour configurer la configuration: le php.ini Fichier et un autre fichier est requis pour configurer pour configurer le serveur de messagerie. Suivez les étapes ci-dessous pour configurer la configuration. De nombreux packages sont disponibles en PHP pour envoyer un e-mail. MSMTP est un client PHP Mail Server qui est utilisé dans ce tutoriel pour envoyer un e-mail à 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 avec le nom / etc / msmtprc avec la commande suivante:

$ sudo nano / etc / msmtprc

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

par défaut
TLS sur
tls_starttls sur
tls_trust_file / etc / ssl / certs / ca-certificats.CRT
compte par défaut
hôte smtp.Gmail.com
Port 587
autoriser
Nom d'utilisateur utilisateur @ gmail.com
mot de passe user_password
de Sender_email_Address

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

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

Ouvrir le php.ini fichier et modifier le contenu suivant avec les valeurs suivantes:

Smtp = smtp.Gmail.com
smtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"

Syntaxe:

BOOL MAIL (String $ to, String $ Sujet, String $ Message [, mixte $ Additional_Headers [, String $ supplémentaire_parameters]]))

Cette fonction peut prendre quatre arguments. Le premier argument prend l'adresse e-mail du récepteur. Le deuxième argument prend le sujet de l'e-mail. Le troisième argument prend le corps de l'e-mail. Le dernier argument est facultatif, et il contient des informations supplémentaires sur l'e-mail comme une chaîne ou un tableau.

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

Différents exemples d'envoi d'un e-mail à l'aide de la fonction Mail () de PHP sont affichés dans cette section du tutoriel.

Exemple 1: Envoyez un e-mail texte simple

Cet exemple montre comment un e-mail texte simple peut être envoyé à l'aide de la fonction Mail (). Créer 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 un corps de message.

// Définissez l'adresse e-mail du récepteur
$ à = "récepteur @ gmail.com ";
// définit le sujet de l'e-mail
$ sujet = "Il s'agit d'un e-mail de test";
// Définissez le corps de messagerie
$ message = "Il teste le corps des e-mails";
// Définir les informations d'en-tête
$ headers = "de: expéditeur @ gmail.com \ r \ n ";
$ en-têtes .= "Répondre à: expéditeur @ gmail.com \ r \ n ";
// Envoyez un e-mail à l'aide de la fonction Message Mail ()
if (mail ($ to, $ sujet, $ message, $ headers)))

Echo "Le courrier électronique a envoyé avec succès.\ r \ n ";

autre
Echo "Le courrier électronique n'a pas 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 cochez la boîte de réception de l'adresse e-mail qui a été définie comme l'adresse e-mail du récepteur.

Exemple 2: Envoyez un e-mail formaté HTML

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

$ message La variable est initialisée avec du contenu HTML qui sera envoyé comme un corps de messagerie. Il est mentionné dans le $ en-tête variable que le contenu de l'e-mail est HTML.

// Définissez l'adresse e-mail du récepteur
$ à = "wdpfr41 @ gmail.com ";
// définit le sujet de l'e-mail
$ sujet = «Enregistrement réussi»;
// Définissez le corps de messagerie
$ message = '

Votre inscription est terminée avec succès.


nom d'utilisateur = Fahmida20

mot de passe = ASWQ34GHQW


';;
// Définir le retour du chariot
$ nl = "\ r \ n";
// Définissez l'en-tête de type contenu
$ Headers = 'MIME-Version: 1.0 '.$ nl;
$ en-têtes .= 'Type de contenu: texte / html; Charset = ISO-8859-1 '.$ nl;
// définir les informations supplémentaires des en-têtes
$ en-têtes .= 'À: mehrab hossain'.$ nl;
$ en-têtes .= 'De: admin'.$ nl;
$ en-têtes .= 'CC: Personnel @ Exemple.com '.$ nl;
// Envoyez un e-mail à l'aide de la fonction Message Mail ()
if (mail ($ to, $ sujet, $ message, $ headers))
Echo "Le courrier électronique a envoyé avec succès.\ r \ n ";

autre
Echo "Le courrier électronique n'a pas 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 cochez la boîte de réception de l'adresse e-mail qui a été définie comme l'adresse e-mail du récepteur.

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

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

Le contenu du fichier texte est lu et codé 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éfinissez l'adresse e-mail du récepteur
$ à = "wdpfr41 @ gmail.com ";
// définit le sujet de l'e-mail
$ sujet = "Fichier Pièce";
// Définir le retour du chariot
$ nl = "\ r \ n";
// définir un hachage aléatoire qui sera utilisé pour le contenu mixte
$ séparateur = md5 (time ());
// Lire le contenu du fichier joint
$ filename = 'myfile.SMS';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ contenu));
// Définir le message électronique avec des informations de pièce jointe
$ message = "-" . $ séparateur . $ nl;
$ message .= "Type de contenu: texte / plaine; charse =" ISO-8859-1 "" . $ nl;
$ message .= "Contenu-transfert-codage: 8 bits" . $ nl;
$ message .= "Un fichier texte est joint avec l'e-mail." . $ nl;
$ message .= "-" . $ séparateur . $ nl;
$ message .= "Content-Type: Application / octet-stream; name =" " . $ nom de fichier . "" " . $ nl;
$ message .= "Contenu-transfert-codage: base64" . $ nl;
$ message .= "Disposition du contenu: pièce jointe" . $ nl;
$ message .= $ Contenu . $ nl;
$ message .= "-" . $ séparateur . "-";
// Définissez l'en-tête de type contenu
$ Headers = 'MIME-Version: 1.0 '.$ nl;
$ en-têtes .= "De: Fahmida18bd @ gmail.com ".$ nl;
$ en-têtes .= "Répondre à: Fahmida18bd @ gmail.com ".$ nl;
$ en-têtes .= "Content-Type: Multipart / Mixed; Boundary =" " . $ séparateur . "" " .$ nl;
// Envoyez un e-mail à l'aide de la fonction Message Mail ()
if (mail ($ to, $ sujet, $ message, $ headers))
Echo "Le courrier électronique a envoyé avec la pièce jointe avec succès.\ r \ n ";

autre
Echo "Le courrier électronique n'a pas 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 cochez la boîte de réception de l'adresse e-mail qui a été définie comme l'adresse e-mail du récepteur.

Conclusion

De nombreuses façons existent en PHP pour envoyer des e-mails. La fonction PHP Mail () ne fonctionne pas correctement sur Ubuntu après avoir réglé la configuration. Ce tutoriel montre les configurations nécessaires et la façon d'envoyer des e-mails à l'aide de la fonction PHP Mail ().