Partage
  • Partager sur Facebook
  • Partager sur Twitter

L'envoie de mail à partir de pages perso free.

Bloquage du smtp sortant.

    26 octobre 2009 à 0:38:13

    Bonjour à tous,

    Cela faisant longtemps que je n'avais pas eu de questions sans réponses. Mais la je sens qu'il s'agit d'une spécificité de mon hébergeur, donc j'espère avoir des réponses d'expert. :p

    J'ai donc un site héberger par free (page perso) et j'ai voulu faire des envoies de mails automatiques.
    Alors que le simple envoie de mail en html, sans déclaration de type se fait très bien (déjà tester sur un autre de mes sites), j'ai voulu cette fois pousser les choses un peu plus loin et tenter un envoie multiple avec une version texte et une version html.

    Après moult test, j'ai réussi à coder ma page sans encombre et j'envoie depuis mon PC (WAMP) mes mails comme le je désire.
    Je décide donc de déployer le tout sur ma page free et la :
    Warning: mail() [function.mail]: Spam detecte, mail non envoye. in xxxx/series-reminder/mail.php on line 91
    


    Après beaucoup de recherche, je pense que sur tous les serveurs de free, le firewall free bloque le smtp sortant (comme il le font pour les freebox).

    Or je n'ai pas accès au fichier php.ini pour éventuellement il mettre le smtp.free.fr, ni la possibilité de débloquer le smtp sortant.

    J'ai donc deux questions :
    - Suis-je sur la bonne voie (free bloque le smtp sortant)?
    - Que puis-je faire pour contourner le problème?

    Je vous remercie par avance de vos réponses et de votre aide.
    Sulfa
    • Partager sur Facebook
    • Partager sur Twitter
      26 octobre 2009 à 0:43:11

      La fonction mail() est bien active chez Free mais limite à 2000 envoie de mail/semaine si des fois tu dépasses le quotat
      • Partager sur Facebook
      • Partager sur Twitter
        26 octobre 2009 à 1:12:45

        Non c'est autre chose, j'ai du en envoyer 30 en deux jours. ^^

        Mais l'information est bonne à entendre. ;)
        • Partager sur Facebook
        • Partager sur Twitter
          26 octobre 2009 à 11:30:26

          Donne-nous le code de l'envoie de ton mail

          Sinon si ça peut t'aider, voilà le code que j'utilise systématiquement, qui fonctionne parfaitement et permet d'utiliser de l'HTML dans le mail (et qu'il soit interprété bien sûr)

          <?php
          $objet = 'Objet du message';
          $mess = 'Message avec du HTML si tu le souhaites';
          $headers = 'From: "Nom du site"<nomdusite@domaine.com>'."\n";
          $headers .='Reply-To: nomdusite@domaine.com'."\n";
          $headers .= 'MIME-version: 1.0'."\n";  
          $headers .= 'Content-type: text/html; charset= iso-8859-1'; 
          ?>
          
          • Partager sur Facebook
          • Partager sur Twitter
            26 octobre 2009 à 12:34:23

            Je me pose exactement la même question..Je suis chez free et j'ai fait un code pour faire une newsletter, mais au bout du 10iéme mail, la fonction mail() bloque sur le serveur alors quel fonctionne parfaitement sur mon ordi. D'après ce que j'ai lu, FREE à limiter l'utilisation de mail() pour éviter le spam et la modifier en une fonction email() qui est quasiment la même sauf que tu ne peut pas modifier l'adresse de l'expéditeur.Essaye de modifier ta fonction mail() par email().
            Apparemment la syntaxe est :
            email(chaîne compte,chaîne destinataire,chaîne sujet,chaîne message);
            

            Et dans compte c'est ton compte free.Je n'ai pas encore essayer cette fonction car je l'ai découverte ce matin, mais si elle fonctionne chez toi, ça m'intéresse !
            • Partager sur Facebook
            • Partager sur Twitter
              26 octobre 2009 à 21:29:45

              @ Zazou : moi aussi, j'utilise l'envoie de mail html sur un autre de mes sites, sans la déclaration du type cependant.
              Le problème chez ne se manifeste que lors de l'envoie multipart avec une boundary.

              @ moicjojo : J'ai essayer déjà, mais php me répond qu'il ne connait pas la fonction email(). :(

              Enfin, si toute fois, ça peut être utile, voici mon code :
              $frontiere = "---~".mt_rand()."~";
              	
              		$headers = 'From: webmaster @ Series-Reminder <xxx@free.fr>'.$passage_ligne;
              		$headers.= 'Reply-to: <xxx@free.fr>'.$passage_ligne; 
              		$headers.= 'MIME-Version: 1.0'.$passage_ligne; 
              		$headers.= 'Content-Type: multipart/alternative;'.$passage_ligne.' boundary="'.$frontiere.'"'.$passage_ligne; 
              
              		$destinataire = $_SESSION['mail'];
              		$sujet = 'Modifications de votre compte sur Series-Reminder';
              		
              		$message.= $passage_ligne.$frontiere.$passage_ligne;
              		$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
              		$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
              		$message_text = '';
              		$message_text.= $passage_ligne.'Bonjour '.$_SESSION['nom'].$passage_ligne.
              $passage_ligne.'Des modifications ont été apportées à votre compte.'.$passage_ligne.'
              En voici un compte rendu pour information :'.$passage_ligne.
              $passage_ligne;
              
              $message_text.= '
              Merci de l\'intérêt que vous portez à Series-Reminder.'.$passage_ligne.'
              webmaster de series-reminder.';
              			$message.= $message_text.$passage_ligne;
              			
              		$message.= $passage_ligne."--".$frontiere.$passage_ligne;
              		$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
              		$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
              		$message.= $passage_ligne.'<html><head></head><body>'.$passage_ligne;
              		if (preg_match('/http:\/\/xxx.free.fr\/series-reminder\/mail.php\?code=.*\n/i', 'http://xxx.free.fr/series-reminder/mail.php?code=15316875645_5456 ere', $result))
              			$message.= preg_replace('/http:\/\/xxx.free.fr\/series-reminder\/mail.php\?code=.*\n/i', '<a href="'.$result[0].'" title="lien de confirmation" ></a>', $message_text);
              			
              		$message.= preg_replace('/\n/i', '<br />', $message_text);
              		$message.= '</body></html>'.$passage_ligne;
              		$message.= $passage_ligne."--".$frontiere."--".$passage_ligne;
              		$message.= $passage_ligne."--".$frontiere."--".$passage_ligne;
              
              • Partager sur Facebook
              • Partager sur Twitter
                26 octobre 2009 à 21:57:27

                Il est trop complexe et sans intérêt si tu n'envoies pas de pièce jointe.
                Si tu n'utilises pas les pièces-jointes ni les images, tu peux te contenter d'un mail simple comme j'ai donné plus haut.
                • Partager sur Facebook
                • Partager sur Twitter
                  26 octobre 2009 à 23:21:05

                  :D

                  Non, je permets à mon mail d'être lu de façon normale avec un configuration qui n'accepte pas les html et donc que le texte.
                  Je pense aux téléphones notamment.

                  M'enfin si je n'ai pas de solution, c'est ce que je ferais.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  L'envoie de mail à partir de pages perso free.

                  × 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