Comment utiliser Mercury Mail dans XAMPP

X

Confidentialité & Cookies

Ce site utilise des cookies. En continuant, vous acceptez leur utilisation. En savoir plus, y compris comment contrôler les cookies.

Compris !

Publicités

Lorsque vous essayez d’utiliser la fonction PHP mail() sur votre ordinateur local, vous obtenez ce message:

Warning: mail() : "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\test.php on line 14

Heureusement, j’ai trouvé une solution. Dans ce tutoriel, je vais vous montrer comment vous pouvez utiliser la fonction mail() sur votre ordinateur local avec l’aide de Mozilla Thunderbird afin que vous sachiez si votre script de messagerie fonctionne vraiment. Dans votre package XAMPP, il y a un outil appelé Mercury Mail. Cette application peut, en quelque sorte, imiter un fournisseur de messagerie comme Gmail, Yahoo Mail ou d’autres. Mais le mettre en place est un peu délicat, cela m’a pris des heures pour le faire fonctionner, alors j’aimerais partager cela avec vous pour vous faire gagner du temps et de la frustration. 🙂

Si vous vous demandez à quoi ressemble Mercury Mail ou où le trouver, voici un instantané:

Comme pour Apache et MySQL, appuyez simplement sur Démarrer pour l’activer et attendez que l’exécution s’affiche. Ensuite, la fenêtre Mercury Mail apparaît:

J’ai commencé par créer un nouvel utilisateur. Allez dans Configuration > Gérer les utilisateurs locaux puis Ajouter. J’ai mis ce qui suit:

Username: usernamePersonal Name: personalname@localhostMail Password:

Après avoir entré les 3 informations dans la fenêtre Détails de l’utilisateur, cliquez sur OK.

Puis dans Thunderbird, j’ai créé un compte en utilisant les informations d’identification suivantes:

 Your name: username Email Address: username@localhost password: Server Type: POP3

Cliquez sur Créer un compte.

Rappelez-vous cette erreur au début? Pour m’en débarrasser, j’ai édité mon php.dans le fichier ini, recherchez sendmail_from et supprimez la demi-colonne (;) pour que cette ligne ne soit plus un commentaire (n’a pas changé la valeur).

;sendmail_from = postmaster@localhost

C’est tout! Mais pour que cela fonctionne, vous devez redémarrer votre XAMPP. Une fois qu’ils sont de retour (Apache, MySQL et Mercury Mail) exécutent votre script PHP, voici à quoi ressemble le mien:

<?php $recipient="username@localhost"; $subject="Test Email"; $mail_body="Nobody is going to get this email but me."; mail($recipient, $subject, $mail_body); ?>

Et c’est le résultat:

J’espère que vous avez apprécié ce tutoriel. Je serai de retour pour plus 🙂

Annonces

Write a Comment

Votre adresse e-mail ne sera pas publiée.