Jump to content
News ticker
  • Bienvenue sur le nouveau forum VeryGames
  • Welcome to the new VeryGames forum
  • VeryNews

    Restrictions PHP4


    Alex

    Recommended Posts

    Bonjour,

     

    afin de garantir la stabilité & la securité de la plateforme d'hébergement VG,

    certaines fonctions PHP4 sont désormais restreintes. Parmis les plus importantes figurent la fonction mail() et la fonction connect().

     

    Pour envoyer des email via PHP, veuillez à présent utiliser le SMTP de VG:

    'smtp.verygames.net'

    (pas besoin de login / pass pour l'utiliser)

    Link to comment
    Share on other sites

    sans vouloir remettre en cause quoi que ce soit je pense qu'il eut été bien de nous prévenir avant de le faire... du genre à partir du tant la fonction mail() sera désactivée, veuillez modifier vos scripts en conséquence, etc... :roll:

     

    ps : à ce moment précis où j'écris le smtp semble ne pas fonctionner :

    Impossible d'envoyer le message car l'un des destinataires a été refusé par le serveur. L'adresse de messagerie refusée était 'oum@section-boulet.com'. Objet 'test smtp vg', Compte : 'sB | Team', Serveur : 'smtp.verygames.net', Protocole : SMTP, Réponse du serveur : '554 <oum@section-boulet.com>: Relay access denied', Port : 25, Sécurisé (SSL) : Non, Erreur de serveur : 554, Numéro d'erreur : 0x800CCC79

    j'ai cette erreur pour toutes les adresses email que je propose :( (serv #444 si ça a une importance)

    Link to comment
    Share on other sites

    Erreur

     

    L'erreur est apparue au niveau des Forum Phpbb aussi.

     

    Failed sending email :: PHP ::

     

    DEBUG MODE

     

    Line : 234

    File : emailer.php

     

    Je ne sais pas si c'est du au message au dessus, mais je fais parvenir quand meme :) cela peut etre utile... :roll:

     

    Problème résolu biensur avec le serveur mail :]

    Link to comment
    Share on other sites

    Tu as raison Oum, ca a été un peu rapide. Je previendrais à l'avance la prochaine fois. (Je pensais pas que c'etait autant utilisé, pour moi presque tout le monde passait déjà par le smtp)

     

    Pour info, cette limitation a pour but de nous permettre d'identifier les SPAM: Avec la fonction mail(), n'importe quel user VG peut spammer la terre entiere sans que nous puissions voir quoit que ce soit.

    Si le mail passe par notre SMTP, c'est different.

    Link to comment
    Share on other sites

    Yoland il fonctionne tres bien par les Serveur smtp de Verygames ;)

    dans les option admin il suffit d'aller ds configuration, tout en bas y'a pour les mail tu coche utiliser un serveur smtp 'Oui' ensuite tu met l'adresse fournie au dessus par l'Admin et Ok ;)

    Link to comment
    Share on other sites

    moi le seul problème c'est que mon module d'inscription au site n'envoi pas d'email

    Effectivement le module nukedclan d'inscription au site n'envoie plus de mail du coup.

    QQu'un sait-il comment lui dire de le faire via le smtp verygames ?

    J'ai cherché un petit peu, mais je suis pas expert en Php, et j'ai pas trouvé où se faisait cet envoi de mails dans les fichiers php.

     

    Je poste ça la parceque c'est le sujet, si vous le préférez dans la rubrique support, je l'efface et je recommance là bas ;)

    Link to comment
    Share on other sites

    moi le seul problème c'est que mon module d'inscription au site n'envoi pas d'email

    Effectivement le module nukedclan d'inscription au site n'envoie plus de mail du coup.

    QQu'un sait-il comment lui dire de le faire via le smtp verygames ?

    J'ai cherché un petit peu, mais je suis pas expert en Php, et j'ai pas trouvé où se faisait cet envoi de mails dans les fichiers php.

     

    Je poste ça la parceque c'est le sujet, si vous le préférez dans la rubrique support, je l'efface et je recommance là bas ;)

     

    Lis plus haut :

     

    Yoland il fonctionne tres bien par les Serveur smtp de Verygames

    dans les option admin il suffit d'aller ds configuration, tout en bas y'a pour les mail tu coche utiliser un serveur smtp 'Oui' ensuite tu met l'adresse fournie au dessus par l'Admin et Ok

     

    Enfin si c'est ça :wink:

    Link to comment
    Share on other sites

    Yoland il fonctionne tres bien par les Serveur smtp de Verygames

    dans les option admin il suffit d'aller ds configuration, tout en bas y'a pour les mail tu coche utiliser un serveur smtp 'Oui' ensuite tu met l'adresse fournie au dessus par l'Admin et Ok

     

    Enfin si c'est ça :wink:

     

    Non c'est pas ça ;)

    si tu lis bien, ce post concerne phpBB2 et effectivement cette modification fonctionne pour ce forum, mais aucune option n'est disponible à ma connaissance pour nuked-clan. Il faut sans doute aller chercher dans les fichiers .php où se situe l'appel à la fonction mail(), et le remplacer par un envoi via le smtp de verygames, seulement voilà, je ne le trouve pas ...

     

    tue-mouche

    Link to comment
    Share on other sites

    sans vouloir remettre en cause quoi que ce soit je pense qu'il eut été bien de nous prévenir avant de le faire... du genre à partir du tant la fonction mail() sera désactivée, veuillez modifier vos scripts en conséquence, etc... :roll:

     

    ps : à ce moment précis où j'écris le smtp semble ne pas fonctionner :

    Impossible d'envoyer le message car l'un des destinataires a été refusé par le serveur. L'adresse de messagerie refusée était 'oum@section-boulet.com'. Objet 'test smtp vg', Compte : 'sB | Team', Serveur : 'smtp.verygames.net', Protocole : SMTP, Réponse du serveur : '554 <oum@section-boulet.com>: Relay access denied', Port : 25, Sécurisé (SSL) : Non, Erreur de serveur : 554, Numéro d'erreur : 0x800CCC79

    j'ai cette erreur pour toutes les adresses email que je propose :( (serv #444 si ça a une importance)

    bon alors en fait y'a pas de problème pour les mails qui partent du site... par contre impossible d'utiliser ce smtp pour envoyer un mail depuis mon Outlook express...

    Link to comment
    Share on other sites

    Pour clarifier:

     

    * Les emails envoyés depuis les serveurs de VG doivent passer par le SMTP de VG : smtp.verygames.net

     

    * Les emails envoyés depuis votre PC (votre FAI donc) doivent passer par le SMTP de votre FAI (ex: smtp.free.fr si vous êtes chez FREE).

     

    En gros chaque réseau à son serveur de mail.

    Link to comment
    Share on other sites

    Proposition:

    La fonction mail() reste disponible, mais serait limitée à xxx mails/semaine ou mois.:P

    (un peu comme Free)

     

    hum..

    pour nukedklan suffit de regler les inscriptions: Validation : Automatique

    mais reste toujours le blem au cas où l on perd son passe :-(

    une âme charitable pour modifier nukeklan xD ou toute autre solution plus simple :)

     

    (^@^)

    Link to comment
    Share on other sites

    Pour tout ceux qui cherchent à remplacer la fonction mail() dans leur site nuked-clan ou autre,une solution existe !!!

    Si vous voulez continuer à recevoir des mails de création de compte, ou de rappel de mot de passe etc ... c'est possible.

     

    il faut utiliser une autre classe de php, qu'il faut rajouter : PHPMailer qui lui, utilise le smtp de verygames pour fonctionner.

    On trouve cette classe ici:

    http://prdownloads.sourceforge.net/phpmailer/phpmailer-1.72.zip?download

     

    Pour l'installer, il suffit de dezipper le fichier dans la racine de votre site par ex; puis à chaque appel de la fonction mail(), de remplacer celle-ci par :

    <?
    include "phpmailer-1.72/class.phpmailer.php";// ici le chemin de la class
    ?>
    
    <?php include "phpmailer-1.72/class.smtp.php";";// ici le chemin de la class
    ?>
    
    <? $mail = new PHPMailer();
    
    $mail->IsSMTP();                                   // send via SMTP
    $mail->Host     = "smtp.verygames.net"; // SMTP servers
    $mail->SMTPAuth = true;     // turn on SMTP authentication
    $mail->Username = "";  // SMTP username (rien chez verygames)
    $mail->Password = ""; // SMTP password (rien chez verygames)
    
    $mail->From     = "adresse@verygames.net";
    $mail->FromName = "Nom de l'envoyeur";
    $mail->AddAddress("adresse du destinataire","nick du destinataire");
    $mail->AddAddress("adresse du destinataire 2","nick du destinataire 2"); 
    
    
    $mail->Subject  =  "Sujet du mail";
    $mail->Body     =  "Corp du message(le html est ok)";
    $mail->AltBody  =  "corps de msg en txt seulement";
    
    if(!$mail->Send())
    {
      echo "Message was not sent 
    
    ";//message de test
      echo "Mailer Error: " . $mail->ErrorInfo;
      exit;
    }
    
    echo "Message has been sent";
    ?>
    

     

    J'ai tester et ça marche, par contre je ne l'ai pas encore inclus dans le code de nuked-clan, il doit y avoir sans doute quelques ajustements à faire.Pour infos la plupart des appels à la fonction mail() se situent dans le fichier modules/user/index.php.Je ne sais pas s'il y en a d'autres ailleurs.

     

    Merci des feed-backs

     

    tue-mouche

     

    EDIT : bien sûr les premières propriétés de la variable $mail peuvent se définir une fois pour toutes au début d'un fichier, ainsi que les "include" du début.On n'est pas obligé de tout remettre à chaque fois :wink:

     

    EDIT2: nuked-clan utilise aussi le nom de variable $mail, donc il vaut mieux la renommer $mel par ex.

    Link to comment
    Share on other sites

    • 2 weeks later...
    Guest Cobalt74

    rajouter ça en fin de code

     

      	    // Clear all addresses and attachments for next loop
     	    $mail->ClearAddresses();
       	  $mail->ClearAttachments();

    Link to comment
    Share on other sites

    • 1 month later...
    • 3 weeks later...

    Si si c'est possible

     

    Voilà un ptit post qui fera surement plaisirs à ceux qui ont un site Nuked-Klan. J'ai testé le truc sur mon site en version 1.6 et ça roule nickel. Je confirme donc le post de Tue-Mouche comme quoi la classe PHPMailer fonctionne parfaitement bien merci à toi :-D

     

    Mais quoi faire ? vous allez me dire :-D

     

    Etape 1: Télécharger les fichiers de PHPMailer ici:

    http://prdownloads.sourceforge.net/phpmailer

    Dernière version à ce jour: phpmailer-1.73.zip

     

    Etape 2: Décompresser le fichier zip puis mettez les fichiers class.phpmailer.php et class.smtp.php à la racine de votre serveur web Verygames (/www/).

     

    Etape 3: Copier le bout de code PHP qui suit puis le mettre dans un nouveau fichier email.php que vous mettrez également à la racine de votre serveur web:

    <?php
    
    include "class.phpmailer.php";
    
    function email($to, $subject, $msg, $from) {
     $mail = new PHPMailer();
    
     $mail->IsSMTP(); // send via SMTP
     $mail->Host     = "smtp.verygames.net"; // SMTP servers 
     $mail->SMTPAuth = false;     // turn on SMTP authentication 
     $mail->Username = "";  // SMTP username (rien chez verygames) 
     $mail->Password = ""; // SMTP password (rien chez verygames) 
    
     $mail->From     = $from; 
     $mail->FromName = $from;
     $mail->AddAddress($to,""); 
     $mail->Subject  =  $subject; 
     $mail->Body     =  $msg; 
    
     if(!$mail->Send()) 
     { 
        echo "Message was not sent 
    
    ";//message de test 
        echo "Mailer Error: " . $mail->ErrorInfo; 
        return false;
     } 
     return true;
    }
    
    ?>

     

    Etape 4: Modifier le fichier index.php qui doit se trouver à la racine de votre site (/www/) pour y inclure le fichier email.cfg :

    ...
    define ("INDEX_CHECK","1");
    
    include ("conf.inc.php");
    include ("email.php");
    ...

     

    Etape 5: Modifier les fichiers de Nuked-Klan suivants:

     

    /modules/Defy/index.php (ligne ~172)

      //mail("$email","$subject, $date2","$corps","From: $nuked[name] <$nuked[mail]>\r\nReply-To: $mail");
     email("$email","$subject, $date2","$corps","$mail");
    

    /modules/Forum/index.php (ligne ~364)

    //mail("$email",""._MESSAGE." : $titre",""._EMAILNOTIFYMAIL."\r\n$nuked[url]/index.php?file=Forum&page=viewtopic&forum_id=$forum_id&thread_id=$thread_id\r\n\r\n\r\n$nuked[name] - $nuked[slogan]", "From: $nuked[name] <$nuked[mail]>\r\nReply-To: $nuked[mail]"); 
    email("$email",""._MESSAGE." : $titre",""._EMAILNOTIFYMAIL."\r\n$nuked[url]/index.php?file=Forum&page=viewtopic&forum_id=$forum_id&thread_id=$thread_id\r\n\r\n\r\n$nuked[name] - $nuked[slogan]", "$nuked[mail]");
    

    /modules/News/index.php (ligne ~275)

    /*
    mail("$mail",
          	"$nuked[name], $date2",
          	" $pseudo (IP : $user_ip) "._READNEWS." $title, "._NEWSURL."\r\n$nuked[url]/index.php?file=News&op=index_comment&news_id=$news_id\r\n\r\n"._YCOMMENT." : $comment\r\n\r\n\r\n$nuked[name] - $nuked[slogan]",
    "From: $pseudo\r\nReply-To: $nuked[mail]"); 
    */
    email("$mail",
          	"$nuked[name], $date2",
          	" $pseudo (IP : $user_ip) "._READNEWS." $title, "._NEWSURL."\r\n$nuked[url]/index.php?file=News&op=index_comment&news_id=$news_id\r\n\r\n"._YCOMMENT." : $comment\r\n\r\n\r\n$nuked[name] - $nuked[slogan]",
    "$nuked[mail]"); 
    

    /modules/Recruit/index.php (ligne ~186)

      //mail("$email","$subject, $date2","$corps","From: $nuked[name] <$nuked[mail]>\r\nReply-To: $mail");
     email("$email","$subject, $date2","$corps","$mail");
    

    /modules/Suggest/index.php (ligne ~93)

    //mail("$nuked[mail]",""._NEWSUGGEST." : $date2","$pseudo "._NEWSUBMIT."\r\n$nuked[url]/index.php?file=Suggest&page=admin\r\n\r\n\r\n$nuked[name] - $nuked[slogan]","From: $nuked[name] <$nuked[mail]>\r\nReply-To: $nuked[mail]");
    email("$nuked[mail]",""._NEWSUGGEST." : $date2","$pseudo "._NEWSUBMIT."\r\n$nuked[url]/index.php?file=Suggest&page=admin\r\n\r\n\r\n$nuked[name] - $nuked[slogan]","$nuked[mail]");
    

    /modules/User/index.php (ligne ~551)

    //mail("$mail",""._USERREGISTER.", $date2","$inscription_mail\r\n"._NICK." : $pseudo\r\n"._PASSWORD." : $pass_reg\r\n\r\n\r\n$nuked[name] - $nuked[slogan]","From: $nuked[name] <$nuked[mail]>\r\nReply-To: $nuked[mail]");
    email("$mail",""._USERREGISTER.", $date2","$inscription_mail\r\n"._NICK." : $pseudo\r\n"._PASSWORD." : $pass_reg\r\n\r\n\r\n$nuked[name] - $nuked[slogan]","$nuked[mail]");
    

    (~ligne 556)

    //mail("$nuked[mail]",""._NEWUSER." : $pseudo, $date2","$pseudo "._NEWREGISTRATION." $nuked[name]."._NEWREGSUITE."\r\n\r\n\r\n$nuked[name] - $nuked[slogan]","From: $nuked[name] <$nuked[mail]>\r\nReply-To: $mail");
    email("$nuked[mail]",""._NEWUSER." : $pseudo, $date2","$pseudo "._NEWREGISTRATION." $nuked[name]."._NEWREGSUITE."\r\n\r\n\r\n$nuked[name] - $nuked[slogan]","$mail");
    

    (ligne ~796)

    //mail($email, $subject, $message, "From: $nuked[name] <$nuked[mail]>");
    email($email, $subject, $message, $nuked[mail]);
    

    (ligne ~807)

    //mail($email, $subject, $message, "From: $nuked[name] <$nuked[mail]>");
    email($email, $subject, $message, $nuked[mail]);
    

     

    Etape 6: Mettre votre Email admin dans les préférences générales de votre site Nuked-Klan et le tour est joué :-D

     

    ===============================================

    En ce qui concerne les modifications des sources PHP je n'ai fait que mettre en commentaire (//) la ligne qui utilise la fonction mail aujourd'hui désactivée sur les serveurs Verygames puis rajouter la ligne qui utilise la fonction email. Notez au passage que seul le dernier paramètre change entre les 2 fonctions. Maintenant celui qui connaît bien PHP peut arranger la fonction email à sa façon. Pour les sites qui utilisent Nuked-Klan 7.0 et + je pense que la procédure reste la même maintenant à vous de chercher dans les sources PHP où est utilisé la fonction mail pour la remplacer par la fonction email.

     

    Bon courage à tous !!! :-D

    Link to comment
    Share on other sites

    Bon,j'y connais pas grand chose mais déja en commencant,ca bloque,hihi.

     

    mail($email, $subject, $corps, $from); Voilà le ligne de mon "Defy".

     

    Hors sur ton exemple,je devrais trouver ca :mail("$email","$subject, $date2","$corps","From: $nuked[name] <$nuked[mail]>\r\nReply-To: $mail");

     

    J'ai pas les "" et dois-je remplacer $from par $mail comme ton exemple.

     

    Et dire que j'en suis qu'au 1er :shock:

    Link to comment
    Share on other sites

    Voici l'exemple de mon "Forum" :

     

    $subject = _MESSAGE . " : " . $titre;

    $corps = _EMAILNOTIFYMAIL . "\r\n" . $nuked['url'] . "/index.php?file=Forum&page=viewtopic&forum_id=" . $forum_id . "&thread_id=" . $thread_id . "\r\n\r\n\r\n" . $nuked['name'] . " - " . $nuked['slogan'];

    $from = "From: " . $nuked['name'] . " <" . $nuked['mail'] . ">\r\nReply-To: " . $nuked['mail'];

     

    $subject = @html_entity_decode($subject);

    $corps = @html_entity_decode($corps);

    $from = @html_entity_decode($from);

     

    mail($email, $subject, $corps, $from);

     

    Il est légèrement different de ton exemple.Mais je pense qu'il suffit de supprimer " "From: " . $nuked['name'] . " <" . $nuked['mail'] . ">\r\nReply-To:" dans chaque module et de juste laisser $nuked['mail']

     

    J'attend ton avis et moi je continue le test,hihi.Merci encore de ton aide.

    Sa fais un moment qu'on cherche la solution. :wink:

    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Reply to this topic...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...