Envoi mail php depuis formulaire, fonctionne aléatoirement

Fermé
nmns26 - Modifié le 18 oct. 2022 à 12:36
 nmns26 - 19 oct. 2022 à 09:56

Bonjour,

J'ai créé un formulaire de contact sur mon site mais il marche aléatoirement. Quand je fais les tests, cela semble marcher (page "Your message has been sent" et je reçois l'email) puis 1 heure après plus rien (je vois la page "Your message has been sent" mais je ne reçois pas l'email).
J'ai fait tester des amis, c'est la même chose : certains passent, d'autres non...
Impossible de comprendre la cause...

Je précise que j ai mis une adresse mail provenant de mon domaine dans le champ From de mon script php pour justement ne pas subir les filtrages de mon webmail.

Je vous mets le code php ci-dessous


Merci d'avance pour toute aide

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <title>Contact</title>
</head>
<body>
<?php

if (!empty($_POST["fullname"]) AND !empty($_POST["email"]) AND !empty($_POST["subject"]) AND !empty($_POST["message"])) {
    $message = "Ce message vous a été envoyé via le formulaire contact CCFF
    Nom : " . $_POST["fullname"] . "
    Email : " . $_POST["email"] . "
    Sujet : " . $_POST["subject"] . "
    Message : " . $_POST["message"];
    
    mail("***@***", $_POST["subject"], $message, "From:***@***\r\nReply-to:" . $_POST["email"]);
    
    echo "<p><h1>Your message has been sent. Thank you!</h1></p>";
    } else {
      echo "<p><h1>All fields form are required</h1></p>";
}
?>

</body>
</html>
A voir également:

3 réponses

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
18 oct. 2022 à 15:20

bonjour,

Le point de départ serait sans doute de tester la valeur retournée par mail().

0

Justement, mon fournisseur d'accès me dit que la fonction mail ne donne pas assez d'information et des fois, il indique que le mail est envoyé même si ce n'est pas le cas.

Ils me conseillent de passer par phpmailer. Qu'en pensez vous?

0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
19 oct. 2022 à 09:35

Tu devrais mettre en "reply-to" la même adresse que en "from", pour éviter que ton message soit considéré comme une usurpation d'identité.

Commençons par tester la valeur retournée par mail().  phpmailer offre plus de possibilités d'envoi de messages, et ces possibilités permettent parfois d'éviter certains blocages.

Il est utile aussi d'examiner le header complet reçu par le destinataire.

0

Merci beaucoup pour le temps pris à me répondre. Je suis finalement passé par phpmailer et tout semble fonctionner correctement

0