brand-lws-red brand-lws-white
Blog

Envoyer des mails à l’aide de PHP | Exemple de script

02 mars 2020

Envoyer des mails à l’aide de PHP | Exemple de script

Actuellement, la poste a presque fait son temps. En effet, nous ne faisons plus appel à leur service que pour transmettre des colis ou livrer des objets matériels. Pour se communiquer ou pour s’envoyer des informations, nous utilisons dans la majorité des cas le courrier électronique ou e-mail.

Le mail ou courrier électronique est un moyen de s’envoyer des messages (textes) ou fichiers (pièces-jointes) entre émetteur et destinataire. Que ce soit dans le domaine professionnel ou personnel, le mail est devenu, de nos jours, un outil très important et incontournable pour se communiquer et surtout si on est très actif sur le Web. C’est notre boite de messagerie, mais peut être également notre identifiant ou login sur tous les sites avec lesquels nous souhaitons interagir, un peu comme notre carte d’identité sur la toile.

Et là, le PHP fait son entrée, vu que nous parlons de web, de manière simple, il sert à ajouter de nouvelles fonctionnalités sur un site en ligne.

Vous avez donc un site web, et vous souhaitez communiquer avec vos clients par mail via votre site. Vous allez utiliser un mail PHP et nous allons vous montrer comment faire !

Comment fonctionne un mail PHP ?

Pour commencer, essayons de comprendre les bases. Nous avons défini qu’est-ce qu’un mail plus haut, maintenant voyons qu’est-ce que le PHP de manière plus approfondie.

Le PHP ou HyperText Preprocessor est un langage de programmation libre fonctionnant comme son nom l’indique avec du texte. A utiliser sur des éditeurs de texte comme Sublime Time, il permet de coder la ou les fonctionnalités d’un site web. Par exemple, modeler le design de l’interface d’accueil de votre site, créer le processus d’adhésion ou d’inscription de nouvel utilisateur, etc. Et envoyer un mail figure également dans le champ de possibilité de notre codage PHP.

Toutefois, il y a un chemin obligatoire que le mail même en PHP doit suivre avant d’atterrir dans l

a boite de réception du destinataire. C’est ce qu’on appelle le « Protocole SMTP ».

Le protocole SMTP : envois d’e-mail

Le SMTP, ou comment fonctionne une adresse email, est défini comme « Simple Mail Transfer Protocol » ou « Protocole Simple pour le Transfert des Mails ». Par cette définition, c’est un système qui va agir de serveur en serveur pour transférer les mails.

Par exemple, vous allez envoyer un mail à tuto@orange.fr et que votre adresse soit monadresse@gmail.com. Ce qui va se passer, c’est que votre message sera converti en texte, et cela, même les pièces jointes par le protocole SMTP qu’il enverra au serveur de gmail.com. Puis gmail.com transféra les données au serveur d’orange.fr. Et enfin, orange.fr reconvertira le message initial par un autre protocole appelé IMAP ou POP.

Ces protocoles agiront donc comme ce que feraient les entreprises de postes avec les courriers physiques. Ils récupèrent les courriers, ils identifient la localisation des destinataires puis ils le transfert à leurs représentants dans la zone identifiée. Et c’est le représentant qui fait parvenir le courrier au destinataire.

Pour réaliser ce processus sur un site, nous pouvons utiliser la fonction mail de PHP.

La fonction mail de PHP

D’abord, la fonction mail de PHP permet d’envoyer des mails à partir de votre site internet. Cependant, cela nécessite quelques conditions d’usage.

Etant donné que vous avez un Hébergement web, avec une évidence limpide vous avez sûrement un nom de domaine et un hébergeur correspondant avec votre site. Alors, tous cela seront mis ou enregistrés dans un serveur.

Par définition simple :

  • Nom de domaine : c’est à comparer avec la carte d’identité de votre entreprise ou projet. Ex : @mon.entreprise.com à partir duquel vous pouvez créer votre site web.
  • Serveur : le système pour faire simple est à assimiler à une grande armoire où sont rangés tous les noms de domaines des tiers pour leurs sites web et cela est fournie par des hébergeurs.
  • Hébergeurs web : sont des entités mettant à disposition leurs serveurs pour les tiers.

Dans ce système, il peut donc exister plusieurs noms de domaines, serveurs et hébergeurs différents et le PHP sera leurs langages pour communiquer et se synchroniser. Alors, pour parler le même langage, il faut que les serveurs s’appliquent à assimiler les conditions du serveur SMTP.

En revanche, il y aura donc plusieurs règles et codage qu’il faut suivre pour respecter les conditions de la fonction mail de PHP.

Les paramétrages pour envoyer un mail PHP

En effet, comme pour n’importe quel courrier, un e-mail doit avoir un émetteur, un destinataire, un sujet et le contenu du message.

Cependant, l’enjeu d’utiliser la fonction mail PHP sera donc de paramétrer ces 4 items dans un langage informatique. C’est-à-dire vous allez alors créer des commandes ou directives compréhensible et interprétable par votre machine pour toutes les actions que vous souhaitez faire avec votre mail, cela en langage PHP.

L’envoi d’un e-mail

 

Lors d’un envoi d’un mail à l’aide de PHP, vous pouvez éditer le script ci-dessous sur votre codeur de texte.
__________________________
<?php
$to      = ‘personne@example.com’;
$subject = ‘le sujet’;
$message = ‘Bonjour !’;
$headers = ‘From: webmaster@example.com’ . “\r\n” .
‘Reply-To: webmaster@example.com’. “\r\n” .

mail ($to, $subject, $message, $headers);
?>
__________________________

  • TO : désigne le destinataire de l’email
  • Subject : le sujet ou l’objet du mail
  • Messages : le corps du mail
  • Headers : entête du mail
  • From : émetteur du mail
  • Reply-to : qui signifie « répondre à », sera le bouton qui vous permettra de répondre au mail reçu.

Toutefois, les diverses ponctuations sont effectivement des codages obligatoires dans la conception de la matrice. Toutefois, elle permet de séparer chaque commande ou directive, mais également de se faire comprendre et traduire par les serveurs qui vont l’interpréter.

Pour conclure, vous pouvez en déduire que ce sont les fondamentaux qui s’affichent sur l’interface de votre boite mail à sa réception.

Envoyer un e-mail à plusieurs destinataires et mettre des personnes en copie

De manière générale, c’est une fonctionnalité que nous utilisons souvent en entreprise pour mettre au courant des personnes qui ne sont pas forcément les destinataires de notre message, mais juste pour les tenir informer de la situation.
__________________________
<? php
$to      = ‘personne@example.com , dupond@tutorielvisuel.com’;
$subject = ‘le sujet’;
$headers = ‘From: webmaster@example.com’ . “\r\n” .
$headers = ‘Cc: formateur@example.com’ . “\r\n” .
$headers = ‘Bcc: impots@example.com’ . “\r\n” .
‘Reply-To: webmaster@example.com’. “\r\n” .

mail ($to, $subject, $message, $headers);
?>
__________________________

Ainsi, pour le nouveau destinataire, vous pouvez le rajouter simplement sur la ligne correspondant. Par contre, pour les destinataires mis en copie, c’est une toute autre manière.

En outre, nous distinguons deux mises en copie dans un mail, la mise en copie visible de tous que l’on nomme « Carbon Copy ou Cc ». Et la mise en copie caché, « Blind Carbon Copy ou Cci » qui est invisible aux destinataires, mais qui reçoit quand même le mail sans qu’ils le sachent.

Classification ou priorité du message

Néanmoins, quand vous envoyez un e-mail, vous pouvez mettre une catégorie d’urgence au message que vous envoyez. Par exemple, est-ce que c’est un message qui n’est pas à prendre en considération dans l’immédiat, normal ou à traiter d’urgence.

Ainsi, vous pouvez mettre comme classification :

  • 5 pour basse : pas important dans l’immédiat
  • 3 pour normale : à traiter comme n’importe quel mail lambda
  • 1 pour urgent : à traiter en priorité par rapport aux autres mails

C’est donc une hiérarchisation que vous pouvez aisément utiliser pour faire comprendre à vos destinataires la manière qu’ils doivent faire ou interpréter votre message.

Par ailleurs, cette directive est mise sous la commande « X-Priority ».

__________________________
<? php
$to      = ‘personne@example.com , dupond@tutorielvisuel.com’;
$subject = ‘le sujet’;
$headers = ‘From: webmaster@example.com’ . “\r\n” .
$headers = ‘Cc: formateur@example.com’ . “\r\n” .
$headers = ‘Bcc: impots@example.com’ . “\r\n” .
$headers = ‘X-Priority : 1’ . “\r\n” .

‘Reply-To: webmaster@example.com’. “\r\n” .

mail ($to, $subject, $message, $headers);
?>
__________________________

Type de contenu et encodage

En fait, les mails servent aussi à envoyer des fichiers tels que des images que vous pouvez mettre en pièces jointes. Les formats qui sont applicables sont JPG, GIF et PNG, mais par défaut, ils seront qualifiés en « text/plain ».

Le paramètre que vous mettrez dans le script sera « Content-Type » et suivi de « charset = utf-8 » qui est un codage pour répertorier tous les caractères de manière universel.
__________________________
<? php
$to      = ‘personne@example.com , dupond@tutorielvisuel.com’;
$subject = ‘le sujet’;
$headers = ‘From: webmaster@example.com’ . “\r\n” .
$headers = ‘Cc: formateur@example.com’ . “\r\n” .
$headers = ‘Bcc: impots@example.com’ . “\r\n” .
$headers = ‘X-Priority : 1’ . “\r\n” .
$headers = ‘Content-type : text/plain ; charset=utf-8’ . “\r\n” .

‘Reply-To: webmaster@example.com’. “\r\n” .

mail ($to, $subject, $message, $headers);
?>
__________________________

Code de transportage et Version MINE

Ces derniers scripts permettront à votre mail :

  • D’être codé puis décodé par le protocole SMTP via la directive « Content-Transfert-Encoding »
  • D’être compatible ou se convertir en format HTLM (HyperText Markup Language qui est un langage de balisage conçu pour représenter les pages web) par la directive « MINE-Version 1.0 » à mettre avant tous les autres scripts

__________________________
<? php
$to      = ‘personne@example.com , dupond@tutorielvisuel.com’;
$subject = ‘le sujet’;
$headers = ‘MIME-Version : 1.0’ . “\r\n” .
$headers = ‘From: webmaster@example.com’ . “\r\n” .
$headers = ‘Cc: formateur@example.com’ . “\r\n” .
$headers = ‘Bcc: impots@example.com’ . “\r\n” .
$headers = ‘X-Priority : 1’ . “\r\n” .
$headers = ‘Content-type : text/plain ; charset=utf-8’ . “\r\n” .
$headers = ‘Content-Transfert-Encoding : 8bit’ . “\r\n” .

‘Reply-To: webmaster@example.com’. “\r\n” .

mail ($to, $subject, $message, $headers);
?>
__________________________

Vous savez maintenant les bases et le fonctionnement d’e-mail envoyé à l’aide de PHP mail() 👍 Vous pouvez donc interagir à votre guise avec vos interlocuteurs à partir de votre page ou site web.

Et si vous n’avez pas encore de site web, découvrez nos offres, vos adresses mails sont liées à votre nom de domaine 😉

Hébergement Web LWS

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Serveurs performants haut de gamme

Serveurs performants
haut de gamme

Logiciels avec installation en 1 clic

Logiciels avec
l'installation en 1 clic

Sécurité optimale pour vos sites

Sécurité optimale
pour vos sites

Confiance, 100% en France

Confiance, 100%
en France

100% Satisfait ou Remboursé

100% Satisfait
ou Remboursé