Partage
  • Partager sur Facebook
  • Partager sur Twitter

Soucis envois de mail

    15 septembre 2019 à 12:35:34

    Bonjour,

    J'ai un site dans lequel, y a un système de news, quand je vais dans l'administration du site pour modifier une news, un mail s'envoi à ceux inscrit à la newsletter pour être informé. Tout fonctionne très bien sur mon domaine à moi, je reçois le mail sans soucis. Mais une fois que je transfère tout sur le domaine de mon client, je ne reçois plus le mail... Alors que tout est identique, le code, la bbd,... Ma question est donc : pourquoi?

    Voici le code de l'édition de la news : 

    <?php
    require('includes/admin.php');
    $req = $bdd->prepare('SELECT * FROM news WHERE id = ?');
    $req->execute(array($_GET['id']));
    $row = $req->fetch();
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="">
        <meta name="author" content="">
        <title>Administration : Marmitons en Action</title>
        <link rel="shortcut icon" href="">
        <link rel="stylesheet" href="css/bootstrap.min.css">
        <link rel="stylesheet" href="css/bootstrap-theme.min.css">
        <style>body{padding-top:70px;}</style>
    
        <!--[if IE]>
            <script src="https://cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv.min.js"></script>
            <script src="https://cdn.jsdelivr.net/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    
    <body>
        <?php include('includes/header.php'); ?>
        <div class="container">
            <h1>Nouvelle news</h1>
            <div class="form-group">
                <form action="news.php?action=edit&id=<?php echo $row['id']; ?>" method="post">
                    <label for="title">Titre : </label><br><input type="text" name="title" class="form-control" value="<?php echo $row['titre']; ?>"><br>
                    <label for="content">Contenu : </label><br><textarea name="content" class="ckeditor"><?php echo $row['contenu'];; ?></textarea><br>
                    <button type="submit" class="btn btn-default">Sauvegarder</button>
                </form>
            </div>
        </div>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
        <script src="ckeditor/ckeditor.js"></script>
    </body>
    </html>

    et voici le code du mail qui est envoyé : 

    <?php
         // Sujet
         $subject = 'Newsletter Marmitons en action.';
    
         // message
         $message = '
         <html lang="fr">
    <head>
        <title>Marmitons en action - Inscription</title>
        <meta charset="UTF-8">
       <meta content="width=device-width">
        <style type="text/css">
        /* Fonts and Content */
        body, td { font-family: \'Helvetica Neue\', Arial, Helvetica, Geneva, sans-serif; font-size:14px; }
        body { background-color: #6D0165; margin: 0; padding: 0; -webkit-text-size-adjust:none; -ms-text-size-adjust:none; }
        h2{ padding-top:12px; /* ne fonctionnera pas sous Outlook 2007+ */color:#0E7693; font-size:22px; }
    
        @media only screen and (max-width: 480px) {
    
            table[class=w275], td[class=w275], img[class=w275] { width:135px !important; }
            table[class=w30], td[class=w30], img[class=w30] { width:10px !important; }
            table[class=w580], td[class=w580], img[class=w580] { width:280px !important; }
            table[class=w640], td[class=w640], img[class=w640] { width:300px !important; }
            img{ height:auto;}
             /*illisible, on passe donc sur 3 lignes */
            table[class=w180], td[class=w180], img[class=w180] {
                width:280px !important;
                display:block;
            }
            td[class=w20]{ display:none; }
        }
    
        </style>
    
    </head>
    <body style="margin:0px; padding:0px; -webkit-text-size-adjust:none;">
    
        <table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color:rgb(42, 55, 78)" >
            <tbody>
                <tr>
                    <td align="center" bgcolor="#6D0165">
                        <table  cellpadding="0" cellspacing="0" border="0">
                            <tbody>
                                <tr>
                                    <td class="w640"  width="640" height="10"></td>
                                </tr>
    
                                <tr>
                                    <!--<td align="center" class="w640"  width="640" height="20"> <a style="color:#ffffff; font-size:12px;" href="#"><span style="color:#ffffff; font-size:12px;">Voir le contenu de ce mail en ligne</span></a> </td>-->
                                </tr>
                                <tr>
                                    <td class="w640"  width="640" height="10"></td>
                                </tr>
    
    
                                <!-- entete -->
                                <tr class="pagetoplogo">
                                    <td class="w640"  width="640">
                                        <table  class="w640"  width="640" cellpadding="0" cellspacing="0" border="0" bgcolor="#F9F">
                                            <tbody>
                                                <tr>
                                                    <td class="w30"  width="30"></td>
                                                    <td  class="w580"  width="580" valign="middle" align="left">
                                                        <div class="pagetoplogo-content">
                                                            <img class="w580" style="text-decoration: none; display: block; color:#476688; font-size:30px;" src="http://marmitonsenaction.be/img/logo.png" alt="Marmitons en action" width="482" height="108"/>
                                                        </div>
                                                    </td>
                                                    <td class="w30"  width="30"></td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
    
                                <!-- separateur horizontal -->
                                <tr>
                                    <td  class="w640"  width="640" height="1" bgcolor="#d7d6d6"></td>
                                </tr>
    
                                 <!-- contenu -->
                                <tr class="content">
                                    <td class="w640" class="w640"  width="640" bgcolor="#ffffff">
                                        <table class="w640"  width="640" cellpadding="0" cellspacing="0" border="0">
                                            <tbody>
                                                <tr>
                                                    <td  class="w30"  width="30"></td>
                                                    <td  class="w580"  width="580">
                                                        <!-- une zone de contenu -->
                                                        <table class="w580"  width="580" cellpadding="0" cellspacing="0" border="0">
                                                            <tbody>
                                                                <tr>
                                                                    <td class="w580"  width="580">
                                                                        <h2 style="color:#0E7693; font-size:22px; padding-top:12px;">'.$_POST['title'].'</h2>
    
                                                                        <div align="left" class="article-content">
                                                                            <p>'.$_POST['content'].'</p><br>
                                                                        </div>
                                                                    </td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="w580"  width="580" height="1" bgcolor="#c7c5c5"></td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                        <!-- fin zone -->
                                                    </td>
                                                    <td class="w30" class="w30"  width="30"></td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
    
                                <!--  separateur horizontal de 15px de haut -->
                                <tr>
                                    <td class="w640"  width="640" height="15" bgcolor="#ffffff"></td>
                                </tr>
    
                                <!-- pied de page -->
                                <tr class="pagebottom">
                                    <td class="w640"  width="640">
                                        <table class="w640"  width="640" cellpadding="0" cellspacing="0" border="0" bgcolor="#c7c7c7">
                                            <tbody>
                                                <tr>
                                                    <td colspan="5" height="10"></td>
                                                </tr>
                                                <tr>
                                                    <td class="w30"  width="30"></td>
                                                    <td class="w580"  width="580" valign="top">
                                                        <p align="right" class="pagebottom-content-left">
                                                            <a style="color:#255D5C;" href="www.marmitonsenaction.be"><span style="color:#255D5C;">Marmitons en action © 2017</span></a>
                                                        </p>
                                                    </td>
    
                                                    <td class="w30"  width="30"></td>
                                                </tr>
                                                <tr>
                                                    <td colspan="5" height="10"></td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                                <tr>
                                    <td class="w640"  width="640" height="60"></td>
                                </tr>
                            </tbody>
                        </table>
                    </td>
                </tr>
            </tbody>
        </table>
    </body>
    </html>';
        $headers ='From: Marmitons en action <noreply@marmitonsenaction.be>'."\n";
        $headers .='Reply-To: Marmitons en action <marmitonsenaction@gmail.com>'."\n";
        $headers .='Content-Type: text/html; charset="utf-8"'."\n";
        $headers .='Content-Transfer-Encoding: 8bit';
    
         // Envoi
         mail($row['email'], $subject, $message, $headers);
    ?>
    

    Vu que tout est absolument identique, c'est juste pas hebergé au même endroit (mon site est sur infomaniak et celui du client sur OVH); je pige pas pourquoi tout d'un coup l'envoi de mail ne fonctionne plus. 

    Merci de votre aide !


    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2019 à 0:34:08

      Yo, check quand même chez ton client la valeur de retour de la fonction mail(), et fais un petit error_get_last() juste apres le mail(), pour voir si tout ce passe si bien que ça.

      Sinon essaye avec le mail le plus simple du monde (sans options ou autres trucs), qui envois juste "bonjour" sur un mail que tu est sur d'être valide, si ça passe pas c'est que le soucis viens du client.

      Tu as regardé les mails indésirables ?

      -
      Edité par apoz4 16 septembre 2019 à 0:36:03

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2019 à 18:39:45

        Hello,

        Comment je peux check chez mon client la valeur du retour de mail()? Je suis pas encore très très doué avec tout ça...

        J'ai modifié le mail envoyé qu'il y ai que bonjour dans le body, rien reçu. Et je suis sur et certain que l'adresse sur laquelle est envoyé le mail est bonne car c'est la mienne. Et j'ai regardé dans les spams, rien du tout.

        Si ça vient du client, une idée de comment régler le soucis?

        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2019 à 21:02:57

          Bonjour,

          tu as vérifié que l'ip n'est pas blacklisté?

          -
          Edité par AaFredericHusson 16 septembre 2019 à 21:03:15

          • Partager sur Facebook
          • Partager sur Twitter

          Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça

            17 septembre 2019 à 9:05:17

            Bonjour,

            Comment est configuré l'envoie du mail ? Je sais que sur OVH, on ne peut pas utiliser le port 25 par exemple

            • Partager sur Facebook
            • Partager sur Twitter
              17 septembre 2019 à 18:44:46

              Bonjour,

              Je n'ai rien trouvé comme quoi une IP serait blacklisté donc je ne pense pas non.

              Matioso a écrit:

              Bonjour,

              Comment est configuré l'envoie du mail ? Je sais que sur OVH, on ne peut pas utiliser le port 25 par exemple

              Oula euh... comment je peux savoir ça? J'ai jamais vraiment trop compris ce principe de port et autres, là on dépasse mes maigres connaissances

              • Partager sur Facebook
              • Partager sur Twitter
                17 septembre 2019 à 19:21:58

                si tu utilise la fonction mail de php la question qui t'as été posé n'as rien à voir

                tu peut essayer de t'envoyer à toi même un simple mail avec la fonction php au format texte

                mail('ton_email@exemple.com', 'mail de teste', 'un siple teste');

                si tu ne le reçoit pas il n'y a que deux solutions

                soit l'ip est blacklisté

                soit un problème avec ton hébergeur

                dans les deux cas tu devras contacter ton hébergeur afin qu'il règle le problème

                sinon c'est qu'il y à un bug avec ton système de news

                par contre en relisant ton post je vois que tu dit que à la base ton système fonctionne

                sur infomaniak c'est ok apparement

                donc sur ovh ça devrais être la même chose

                donc pour ma part il y a aucune raison que ça ne fonctionne pas sauf si l'ip est blacklisté

                utilise tu des ip failover chez ovh?

                je demande car dans la casi majorité des cas ces ip sont blacklisté

                • Partager sur Facebook
                • Partager sur Twitter

                Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça

                  18 septembre 2019 à 17:27:29

                  Voilà, j'ai vite fait un petit code simpliste pour voir si je reçois bien le mail.

                  Voici le code utilisé (si jamais ça sert à qqn qui passe par la...)

                  <?php
                   
                      ini_set( 'display_errors', 1 );
                   
                      error_reporting( E_ALL );
                   
                      $from = "loic.leunen@gmail.com";
                   
                      $to = "loic.leunen@gmail.com";
                   
                      $subject = "Vérification PHP mail";
                   
                      $message = "PHP mail marche";
                   
                      $headers = "From:" . $from;
                   
                      mail($to,$subject,$message, $headers);
                   
                      echo "L'email a été envoyé.";
                  ?>

                  Encore une fois, j'ai mis ce mail sur mon serveur Infomaniak, ca fonctionne niquel, je le reçois.

                  Je le met sur le serveur OVH du client, je reçois rien, ni dans les spams car j'ai vérifié...

                  Donc le soucis viendrait d'OVH.. J'ai trouvé ça sur leur doc, ils disent de modifer le fichier htacces et mettre ça : 

                  order allow
                  allow from all
                  Allow from 192.168.1

                  Mais ça m'a mit mon site en internal error, donc ça fonctionne pas des masses

                  Une idée ou prendre contact avec OVH est le mieux?



                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 septembre 2019 à 19:35:36

                    ça confirme bien ce que je dit dès le départ l'ip est blaklisté la preuve sur ton serveur ça fonctionne mais pas chez ovh

                    prend contact avec ovh afin de régler le problème

                    à partir du moment ou le mail n'est même pas reçu en spam c'est qu'il y a blacklist...

                    -
                    Edité par AaFredericHusson 18 septembre 2019 à 19:38:31

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Pas d'aide concernant le code par MP ni par mail, le forum est là pour ça

                    Soucis envois de mail

                    × 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