Page 1 sur 1

Configuration pour envoi de mail en localhost

Posté : 25 juin 2019, 16:21
par la_belette
Bonjour, bonsoir,

Voilà quelques temps que je bloque sur un script php pour un site que je suis en train de crée et qui n'est pas encore hébergé.

Il est question d'un envoi de mail simple, suite à un formulaire. Voici mon script "test":
<form method="post" action="testmail.php">
    <table>
        <tr>
            <td>Votre adresse mail : </td>
            <td><input type="email" placeholder="Mail" name="mail" value=""></td>
        </tr>
        <tr>
            <td>sujet : </td>
            <td><input type="text" placeholder="Nom de l'offre" name="sujet" value=""></td>
        </tr>
        <tr>
            <td>message : </td>
            <td><input type="text" placeholder="***" name="message" value=""></td>
        </tr>
        <tr>
            <td></td>
            <td><button name="offre" type="submit" class="btn btn-primary">Postulez !</button></td>
        </tr>
    </table>
</form>
<?php
    $to = $_POST['mail'];
    $subject = $_POST['sujet'];
    $message = $_POST['message'];
    $headers = "From:[email protected]";
    mail ($to,$subject,$message,$headers);
    echo "Mail envoyé";
?>
Le script semble fonctionner MAIS je ne reçois rien du tout. J'imagine qu'il y a une configuration à faire sur php.ini comme d'autres personnes ont dit ailleurs mais je n'ai rien trouvé de concluant.

Merci d'avance si quelqu'un prend le temps de me lire et/ou de me répondre !

Re: Configuration pour envoi de mail en localhost

Posté : 25 juin 2019, 20:23
par @rthur
Il faut que ton serveur (ton ordi si tu es en local) soit configuré pour pouvoir envoyer des mails effectivement.
C'est compliqué d'avoir un truc qui marche et ça dépend de beaucoup de paramètres et il y a pas mal de configuration à plusieurs niveaux : ton OS, ton antivirus/antispam, ton firewall, ton serveur PHP + ton FAI.

En résumé, si c'est juste pour tester, ne t'embète pas à faire la conf en local, prend un hébergement à 2€ et vérifie que ça fonctionne sur un serveur en ligne.

Re: Configuration pour envoi de mail en localhost

Posté : 27 juin 2019, 09:15
par la_belette
Bonjour,

Pas de réponse mais des propositions de solution par @rthur!

D'ailleurs, prendre un hébergement permet d'éviter tout ces configurations ? Ou peut-être que les solutions d'hébergement sont déjà configurés pour l'envoi de mail ?

Re: Configuration pour envoi de mail en localhost

Posté : 27 juin 2019, 10:58
par Spols
Oui une solution d'hebergement tout fait ne demande pas de configurer quoique ce soit. la fonction mail peut ne pas être disponible, mais c'est plutot rare.

Re: Configuration pour envoi de mail en localhost

Posté : 27 juin 2019, 11:03
par la_belette
Parfait ! Le script est assez simple à prendre en main. Dommage que ça soit compliqué de le tester en local !

Merci pour vos réponses en tout cas !

Re: Configuration pour envoi de mail en localhost

Posté : 27 juin 2019, 13:56
par @rthur
Alors la solution complexe auquel j'avais pensé c'était d'installer un serveur d'envoi de mail en local et c'est pas simple.

Toutefois il existe aussi 2 autres solutions plus simples sous Windows :
1) indiquer le SMTP de ton FAI dans le fichier php.ini (fais un phpinfo() pour trouver où il est)
Voici un exemple si tu es chez Orange :

Code : Tout sélectionner

; For Win32 only. ; http://php.net/smtp SMTP = smtp.orange.fr ; http://php.net/smtp-port smtp_port = 25
- Free : smtp.free.fr
- Orange : smtp.orange.fr
- Bouygues : smtp.bbox.fr
- SFR : smtp.sfr.fr

2) utiliser une librairie en PHP type PHPMailer et indiquer un SMTP externe (comme Gmail par exemple si tu as un compte Gmail).
https://github.com/PHPMailer/PHPMailer
Tuto : https://www.berejeb.com/2009/09/envoyer ... -de-gmail/

Re: Configuration pour envoi de mail en localhost

Posté : 28 juin 2019, 00:04
par Wolan
Bonsoir,

J'ajoute une autre solution à la liste si c'est uniquement pour tester que le mail part et visualiser le contenu.

Installer un faux serveur SMTP comme FakeSMTP (http://nilhcem.com/FakeSMTP/index.html).

Une fois le logiciel démarré il suffit de pointer le code PHP vers localhost port 25 et il sera possible de visualiser les mails envoyés dans FakeSMTP.

Bonne soirée

Re: Configuration pour envoi de mail en localhost

Posté : 01 juil. 2019, 11:50
par la_belette
Une fois le logiciel démarré il suffit de pointer le code PHP vers localhost port 25
Merci à tous pour vos réponses !

J'avais juste une question sur ce "pointer le codephp vers le localhost port 25"

Actuellement je suis en (voir dessous) dans mon php.ini, c'est de ça dont Wolan parlait ?

Code : Tout sélectionner

smtp_port = 25
Je tiens à préciser que je suis sous linux (Je ne sais pas si ça change quelque chose même si je sais que ça change tout.)

Re: Configuration pour envoi de mail en localhost

Posté : 01 juil. 2019, 17:19
par @rthur
Sous Linux, tu es obligé d'avoir un serveur d'envoi de mail pour que ça fonctionne, tu ne peux pas utiliser directement le SMTP de ton FAI...

Voici un petit tuto :
https://medium.com/@jezhalford/phps-mai ... 9c03cd9e54

Attention, à bien configurer ton serveur mail our ne pas qu'il puisse servir de relai de spams, par ailleurs, il est possible que ton FAI te bloque l'envoi de mail si tu ne passes pas par son SMTP (vérifie dans ton espace client et/ou contacte le), et il est probable que les systèmes antispam des boites mails des destinataires bloquent ces emails envoyés depuis une ligne ADSL/Fibre. Tu es prévenu :-)

Re: Configuration pour envoi de mail en localhost

Posté : 01 juil. 2019, 19:58
par Wolan
Sous WIndows les valeurs par défaut (localhost et port 25) sont suffisantes mais sous Unix il faut suivre l'article d'@rthur effectivement.