Partage
  • Partager sur Facebook
  • Partager sur Twitter

mail() fonctionne mais pas pour tout le monde

    5 mars 2021 à 11:21:26

    Bonjour à tous,

    J'ai besoin à la fois d'un point théorique et de pistes pratiques sur la fonction mail(). J'espère que vous pourrez m'aider et je vous remercie d'avance.

    Dans le cadre de la création de compte sur un projet, ma fonction mail permet d'envoyer les identifiants et mot de passe à l'utilisateur. Et voici le code :

    $headers[]='MIME-Version: 1.0';
    			$headers[]='Content-Type: text/html; charset=utf-8';
    			$headers[]='From: '.$from;
    			$headers[]='Return-Path: '.$from;
    			$headers[]='Reply-To: '.$from;
    			$headers[]='X-Mailer: PHP/' . phpversion();
    			$$headers[]='X-Sender: '.$from;
    			$headers[]='X-Priority: 3';
    
    			$resultMail = mail($to, $subject , $message, implode("\r\n", $headers));

    A priori pas de problème dans le contenu des variables $to, $subject et $message. 

    Le mail est bien reçu sur les boîtes gmail, laposte et certaines boîtes professionnelles mais d'autres boîtes pro ne les reçoivent pas. Ce n'est vraiment pas une question de SPAM, le mail est inexistant pour eux. 

    Un var_dump sur la fonction mail pour les utilisateurs qui ont u problème montre retourne TRUE. Donc je suppose que la fonction est correctement utilisée.

    Je suppose que mon mail est refoulé à l'entrée pour eux, mais je ne sais pas pourquoi et surtout je ne sais pas quel genre de test je pourrais effectuer pour corriger ça. Je me vois mal demander un adresse mail pro à tous les clients qui n'ont pas reçu le mail pour pouvoir tester.

    Du coup mes questions seraient dans cet ordre :

    - Savez-vous pourquoi mon mail passe chez certains mais pas chez d'autres ?

    - Connaissez-vous un moyen de tester la réception des mails, ou la compatiblité avec certains "serveurs" (pas sûr que ça se dise comme ça, je vous l'ai dit, j'ai sans doute besoin d'un point théorique) ? 

    -Est-ce que vous avez des pistes pour améliorer mon code, sachant que il y a de grandes chances que ce soit le $headers qui pose problème ?

    Encore merci.

    -
    Edité par Yosu 5 mars 2021 à 11:22:36

    • Partager sur Facebook
    • Partager sur Twitter
      5 mars 2021 à 12:27:06

      Bonjour.

      Petite erreur ligne 7 mais surement du a mauvais copier coller.

      Ensuite certaine boîte mail supprime le mail s'il ne respecte pas certains standards.

      Je t'invite à tester ton mail sur le site mail-tester.com, tu auras une note a l'issue ou il faudra sûrement corriger certains point.

      Puis la syntaxe du From n'est pas correcte il me semble

      • Partager sur Facebook
      • Partager sur Twitter
        5 mars 2021 à 12:28:59

        Salut, il y as plusieurs raisons qui font qu'un mail est rejeté par le serveur mail de ton destinataire.

        Je vais te parler des softs bounces et des hards bounces comme statut de "délivrance"  mais sache qu'il y en d'autres.

        Quand est-ce que mon mail rentre dans la catégorie soft bounce (Liste non exhaustive) :

        • Mailbox du destinataire est pleine
        • Serveur de courrier électronique hors ligne ou son débit est limité
        • Ton message est trop large

        Pour le hard bounce  (Liste non exhaustive) :

        • L'adresse électronique n'existe pas
        • Le nom de domaine n'existe pas
        • Le serveur de messagerie de votre destinataire a bloqué vos courriers électroniques

        Je ne sais quel service tu utilises pour ton envoi de mail mais sache que chez certains tu peux voir le statut des mails que tu as envoyé (ex SendinBlue pour ne citer qu'eu).

        Tu auras des infos sur la délivrabilité ici https://mailchimp.com/fr/help/soft-vs-hard-bounces/ et bien d'autres infos utiles dans leur doc

        • Partager sur Facebook
        • Partager sur Twitter

        While(true)

        mail() fonctionne mais pas pour tout le monde

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown