Comment envoyer un e-mail à l'aide de PHP

Comment envoyer un e-mail à l'aide de PHP

Pour tout site Web, l'envoi d'un e-mail par Script PHP est une exigence très courante. Par exemple, si le site Web contient une option d'enregistrement pour l'utilisateur, un e-mail de confirmation est nécessaire pour envoyer l'utilisateur pour une vérification par e-mail. Vous pouvez envoyer des e-mails en utilisant PHP en utilisant le PHP Fonction Mail () ou n'importe quelle bibliothèque PHP. Deux bibliothèques PHP principalement utilisées pour envoyer des e-mails sont Phpmailer et swiftmailer. La façon d'envoyer un e-mail en utilisant le Fonction Mail () a été discuté dans un autre tutoriel. Les utilisations du Phpmailer La bibliothèque pour envoyer des e-mails dans PHP a été démontrée dans ce tutoriel.

Envoi d'un e-mail à l'aide de phpmailer:

Phpmailer est une bibliothèque de classe très utile qui contient une collection de fonctions pour envoyer un e-mail à l'aide de PHP. Vous pouvez envoyer des e-mails de diverses manières à partir du serveur local en utilisant cette bibliothèque. Exécutez la commande suivante pour installer Phpmailer Dans le système d'exploitation Ubuntu:

$ sudo apt-get install libphp-phailer

Conditions préalables:

Vous devez avoir un compte Gmail pour utiliser l'installation d'e-mail d'envoi de Phpmailer. Après installation Phpmailer, Vous devez activer l'option "Permettre des applications moins sécurisées«De votre compte Gmail.

Différents exemples d'envoi d'e-mails à l'aide de phpmailer:

Voici les utilisations suivantes du Phpmailer bibliothèque pour envoyer des e-mails de différentes manières:

Exemple 1: Envoi de messagerie texte

Le script suivant montre la façon d'envoyer un e-mail simple à l'aide de phpmailer. Ce script attribue quatre parties essentielles de tout e-mail (de, à, sujet, corps). setFrom et Addaddress Les méthodes sont utilisées pour définir les adresses e-mail de l'expéditeur et du récepteur. Sujet et corps Les propriétés sont utilisées pour définir le sujet et le corps de l'e-mail. Si l'e-mail est envoyé correctement, le message de réussite sera imprimé, et si l'e-mail n'est pas envoyé, le message d'échec sera imprimé.

exiger '/ usr / share / php / libphp-phailer / src / phpmailer.php ';
exiger '/ usr / share / php / libphp-phailer / src / smtp.php ';
// déclare l'objet de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configuration de la configuration nécessaire pour envoyer un e-mail
$ email-> issmtp ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> port = 465;
// Définissez l'adresse Gmail qui sera utilisée pour envoyer un e-mail
$ email-> username = "username @ gmail.com ";
// Définissez le mot de passe valide pour l'adresse Gmail
$ email-> mot de passe = "mot de passe";
// Définissez l'adresse e-mail de l'expéditeur
$ email-> setFrom ("admin @ exemple.com ");
// Définissez l'adresse e-mail du récepteur
$ email-> addaddress ("ahelperbd @ gmail.com ");
// définir le sujet
$ e-mail-> sujet = "Test Email";
// Définir le contenu des e-mails
$ email-> body = "Bonjour! Utilisez PHPMailer pour envoyer un e-mail à l'aide de PHP ";
si(!$ email-> send ())
Echo "Erreur:" . $ email-> errorInfo;
autre
Echo "Un e-mail a été envoyé."

?>

Sortir:

La sortie suivante apparaîtra si l'e-mail a été envoyé avec succès:


Si vous vérifiez l'adresse e-mail du récepteur, la sortie similaire suivante sera affichée:

Exemple 2: Envoi de courriel formaté HTML

Vous pouvez envoyer un e-mail formaté HTML à l'aide de phpmailer. Vous devez utiliser ISHTML () avec vrai Valeur du paramètre pour l'envoi de courriel formaté HTML. Ici, une autre méthode Altbody () est utilisé pour envoyer du contenu de messagerie en tant que texte brut si l'utilisateur ne peut pas recevoir l'e-mail avec du contenu HTML.

exiger '/ usr / share / php / libphp-phailer / src / phpmailer.php ';
exiger '/ usr / share / php / libphp-phailer / src / smtp.php ';
// déclare l'objet de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configuration de la configuration nécessaire pour envoyer un e-mail
$ email-> issmtp ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> port = 465;
$ email-> ISHTML (true);
// Définissez l'adresse Gmail qui sera utilisée pour envoyer un e-mail
$ email-> username = "username @ gmail.com ";
// Définissez le mot de passe valide pour l'adresse Gmail
$ email-> mot de passe = "mot de passe";
// Définissez l'adresse e-mail de l'expéditeur
$ email-> setFrom ("admin @ exemple.com ");
// Définissez l'adresse e-mail du récepteur
$ email-> addaddress ("ahelperbd @ gmail.com ");
$ e-mail-> sujet = 'Message envoyé par phpmailer';
$ email-> body = '

Bonjour!

J'utilise phpmailer pour envoyer un e-mail

';;
$ email-> altbody = 'Ce message est généré par texte brut!';;
$ email-> ISHTML (true);
si(!$ email-> send ())
Echo "Erreur:" . $ email-> errorInfo;
autre
Echo "Un e-mail a été envoyé."

?>

Sortir:

Si vous vérifiez l'adresse e-mail du récepteur, la sortie formatée HTML suivante sera affichée:

Exemple 3: Envoi d'un e-mail en joignant un fichier local

De nombreuses méthodes sont disponibles dans Phpmailer classe à envoyer du contenu joint avec l'e-mail. Ajouter une pièce jointe() La méthode est l'une d'entre elles utilisée dans le script suivant. Cette méthode a un paramètre obligatoire et trois paramètres facultatifs.

addAttachment ($ path, $ name, $ coding, $ type); exiger '/ usr / share / php / libphp-phailer / src / phpmailer.php ';
exiger '/ usr / share / php / libphp-phailer / src / smtp.php ';
// déclare l'objet de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configuration de la configuration nécessaire pour envoyer un e-mail
$ email-> issmtp ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> port = 465;
$ email-> ISHTML (true);
// Définissez l'adresse Gmail qui sera utilisée pour envoyer un e-mail
$ email-> username = "username @ gmail.com ";
// Définissez le mot de passe valide pour l'adresse Gmail
$ email-> mot de passe = "mot de passe";
// Définissez l'adresse e-mail de l'expéditeur
$ email-> setFrom ("admin @ exemple.com ");
// Définissez l'adresse e-mail du récepteur
$ email-> addaddress ("ahelperbd @ gmail.com ");
$ email-> addaddress ('ahelperbd @ gmail.com ');
$ e-mail-> sujet = 'Message envoyé par phpmailer';
$ email-> body = 'bonjour! Utilisez PHPMailer pour envoyer un e-mail à l'aide de PHP ';
$ email-> addattachment ('fruits.SMS');
si(!$ email-> send ())
Echo "Erreur:" . $ email-> errorInfo;
autre
Echo "Un e-mail a été envoyé."

?>

Sortir:

Lorsque vous vérifiez l'adresse e-mail du récepteur, le fichier joint sera affiché si le fichier est joint correctement avec l'e-mail comme indiqué ci-dessous:

Exemple 4: Envoi d'un e-mail en joignant un fichier distant

Si vous souhaitez attacher du contenu à partir d'un emplacement distant, vous pouvez utiliser le AddStringAttachment () Méthode à cet effet. Cette méthode a deux paramètres. Le premier paramètre est utilisé pour obtenir du contenu à partir d'un emplacement URL particulier, et le deuxième paramètre est utilisé pour définir le nom du fichier joint.

AddStringAttachment (file_get_contents ($ url), 'nom de fichier.pdf ');

Dans le script suivant, l'adresse URL d'un fichier image a été définie dans le premier paramètre et «mon fichier.jpg"A été défini dans le deuxième paramètre de cette méthode pour définir le nom du fichier joint.

exiger '/ usr / share / php / libphp-phailer / src / phpmailer.php ';
exiger '/ usr / share / php / libphp-phailer / src / smtp.php ';
// déclare l'objet de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configuration de la configuration nécessaire pour envoyer un e-mail
$ email-> issmtp ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> port = 465;
$ email-> ISHTML (true);
// Définissez l'adresse Gmail qui sera utilisée pour envoyer un e-mail
$ email-> username = "username @ gmail.com ";
// Définissez le mot de passe valide pour l'adresse Gmail
$ email-> mot de passe = "mot de passe";
// Définissez l'adresse e-mail de l'expéditeur
$ email-> setFrom ("admin @ exemple.com ");
// Définissez l'adresse e-mail du récepteur
$ email-> addaddress ("ahelperbd @ gmail.com ");
$ email-> addaddress ('ahelperbd @ gmail.com ');
$ e-mail-> sujet = 'Message envoyé par phpmailer';
$ email-> body = 'bonjour! Utilisez PHPMailer pour envoyer un e-mail à l'aide de PHP ';
$ email-> addStringAttachment (file_get_contents ('http: // localhost / phpcode / fleur.jpg '),' myfile.jpg ');
si(!$ email-> send ())
Echo "Erreur:" . $ email-> errorInfo;
autre
Echo "Un e-mail a été envoyé."

?>

Sortir:

Lorsque vous vérifiez l'adresse e-mail du récepteur, le fichier joint sera affiché si le fichier est joint correctement avec l'e-mail comme indiqué ci-dessous:

Exemple 5: Envoi d'e-mails avec un message de débogage

La propriété SMTPDEBUG de la classe PHPMailer est utilisée pour activer l'option de débogage avant d'envoyer l'e-mail. Après avoir exécuté le script, la valeur de cette propriété a été définie sur 1 dans ce script pour afficher le message de débogage.

exiger '/ usr / share / php / libphp-phailer / src / phpmailer.php ';
exiger '/ usr / share / php / libphp-phailer / src / smtp.php ';
// déclare l'objet de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// activer la sortie de débogage
$ email-> smtpdebug = 1;
// Configuration de la configuration nécessaire pour envoyer un e-mail
$ email-> issmtp ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> port = 465;
// Définissez l'adresse Gmail qui sera utilisée pour envoyer un e-mail
$ email-> username = "username @ gmail.com ";
// Définissez le mot de passe valide pour l'adresse Gmail
$ email-> mot de passe = "mot de passe";
// Définissez l'adresse e-mail de l'expéditeur
$ email-> setFrom ("admin @ exemple.com ");
// Définissez l'adresse e-mail du récepteur
$ email-> addaddress ("ahelperbd @ gmail.com ");
// définir le sujet
$ e-mail-> sujet = "Test Email";
// Définir le contenu des e-mails
$ email-> body = "Bonjour! Utilisez PHPMailer pour envoyer un e-mail à l'aide de PHP ";
si(!$ email-> send ())
Echo "Erreur:" . $ email-> errorInfo;
autre
Echo "Un e-mail a été envoyé."

?>

Exemple 6: Envoi d'un e-mail à plusieurs adresses

La façon d'envoyer un e-mail à plusieurs adresses e-mail à l'aide de phpmailer a été affichée dans le script suivant. Le addcc () et addbcc () Les méthodes de cette classe ont été utilisées pour envoyer un e-mail à plusieurs récepteurs à la fois.

exiger '/ usr / share / php / libphp-phailer / src / phpmailer.php ';
exiger '/ usr / share / php / libphp-phailer / src / smtp.php ';
// déclare l'objet de phpmailer
$ email = new phpmailer \ phpmailer \ phpmailer ();
// Configuration de la configuration nécessaire pour envoyer un e-mail
$ email-> issmtp ();
$ email-> smtpauth = true;
$ email-> smtpsecure = 'ssl';
$ email-> host = "smtp.Gmail.com ";
$ email-> port = 465;
// Définissez l'adresse Gmail qui sera utilisée pour envoyer un e-mail
$ email-> username = "username @ gmail.com ";
// Définissez le mot de passe valide pour l'adresse Gmail
$ email-> mot de passe = "mot de passe";
// Définissez l'adresse e-mail de l'expéditeur
$ email-> setFrom ("admin @ exemple.com ");
// Définissez les adresses e-mail du récepteur
$ email-> addaddress ('ahelperbd @ gmail.com ',' jafar iqbal ');
$ e-mail-> addaddress ('user1 @ exemple.com ');
$ e-mail-> addreplyto ('user2 @ exemple.com ');
$ email-> addcc ('user3 @ exemple.com ');
$ email-> addbcc ('user4 @ exemple.com ');
// définir le sujet
$ e-mail-> sujet = "Test Email";
// Définir le contenu des e-mails
$ email-> body = "Bonjour! Utilisez PHPMailer pour envoyer un e-mail à l'aide de PHP ";
si(!$ email-> send ())
Echo "Erreur:" . $ email-> errorInfo;
autre
Echo "Un e-mail a été envoyé."

?>

Sortir:

Si vous vérifiez l'adresse e-mail du récepteur, les informations suivantes seront affichées:

Conclusion:

La plupart des options d'envoi d'e-mails utilisant la bibliothèque PHPMailer ont été discutées dans ce tutoriel. De plus, plusieurs exemples ont été fournis pour aider les utilisateurs de PHP à apprendre facilement le processus d'envoi de courriels en utilisant cette bibliothèque de différentes manières. Nous espérons que vous avez trouvé cet article utile. Vérifiez les autres articles sur les indices Linux pour plus de conseils et d'informations.