Annonce

#1 Re : Aide technique » Probleme Envoi OVH » 2007-10-05 11:47:59

Bonjour,

J'ai une newsletter a envoyer 2000 inscrits, version 2.3.2 de wanews, mysql 4.0 et serveur mutualisé sur OVH.

Or la plupart des inscrits non rien reçu.

J'ai donc appelé OVH qui m'a dit qu'il n'etait plus possible d'envoyer des email de masse, par le biais d'une adresse email (souvent bloqué, blacklisté...), et qu'il fallait mettre en place un SCRIPT qui permettrait de ne pas passer par la boite email...

Quelqu'un aurait une solution ? une piste ?

Merci d'avance

Alban

#2 Re : Aide technique » Script d'inscription » 2007-09-24 11:24:21

Bon ca yé, jai réussi un intégrer le script de Padawa (sur le forum de puis quelques temps).

/* 
    * Génère le register_key pour l'inscription à la newsletter. 
         * Code de wanewsletter 
   */ 
   function generate_key($num_char = 32, $use_uniqid = true){ 
      if( $use_uniqid == true ){ 
         srand((double) microtime() * 1000000); 
         $rand_str = md5(uniqid(rand())); 
      }else{ 
         $rand_str = md5(microtime()); 
      } 
      return ( $num_char >= 32 ) ? $rand_str : substr($rand_str, 0, $num_char); 
   } 
    
   /* 
    * Gestion de l'utilisateur dans wanewsletter. 
   */ 
   function setWaUser($pseudo, $mail, $format, $action){ 
      // Selon l'action on manage l'utilisateur ou on le supprime. 
      if ( $action == "manage" ){ 
         // On vérifie si le mail est déja dans la base. 
         // Au passage on en profite pour récupérer le abo_id qui sera utile pour l'update. 
         $query_user = "SELECT abo_id FROM wa_abonnes WHERE abo_pseudo LIKE '".$pseudo."' AND abo_email LIKE '".$mail."'"; 
         $exe_query_user = mysql_query ( $query_user ); 
         $row_query_user = mysql_fetch_row ( $exe_query_user ); 
         if ( $row_query_user[0] > 0 ){ 
            // Si l'email existe on fait un update des valeurs dans la table wa_abo_liste. 
            $query_up = "UPDATE wa_abo_liste SET format = ".$format.", register_date = ".time()." WHERE abo_id = ".$row_query_user[0]." LIMIT 1"; 
            $exe_query_up = mysql_query ( $query_up ); 
         }else{ 
            // L'email n'existe pas donc on cré l'utilisateur. 
            // tout d'abord dans la table wa_abonnes. 
            $query_abo = "INSERT INTO wa_abonnes (abo_pseudo, abo_email, abo_status) VALUES ('".$pseudo."', '".$mail."', 1)"; 
            $exe_query_abo = mysql_query ( $query_abo ); 
            // Comme le champ abo_id n'est pas auto_incrementé il faut lui attribué le même manuellement. 
            $id_abo = mysql_insert_id (); 
            // et ont insert dans la base wa_abo_liste. 
            $query_liste = "INSERT INTO wa_abo_liste (abo_id, liste_id, format, register_key, register_date, confirmed) VALUES (".$id_abo.", 2, ".$format.", '".generate_key()."', ".time().", 1)"; 
            $exe_query_liste = mysql_query ( $query_liste ); 
         } 
      }elseif ( $action == "delete" ){ 
         // L'utilisateur veut etre supprimer. On récupère sont abo_id. 
         $query_user = "SELECT abo_id FROM wa_abonnes WHERE abo_pseudo LIKE '".$pseudo."' AND abo_email LIKE '".$mail."'"; 
         $exe_query_user = mysql_query ( $query_user ); 
         $row_query_user = mysql_fetch_row ( $exe_query_user ); 
         // On commence par la table wa_abo_liste. 
         $query_del_list = "DELETE FROM wa_abo_liste WHERE abo_id = ".$row_query_user[0]." LIMIT 1"; 
         $exe_query_del_list = mysql_query ( $query_del_list ); 
         // Et on termine par la table wa_abonnes. 
         $query_del_abo = "DELETE FROM wa_abonnes WHERE abo_id = ".$row_query_user[0]." LIMIT 1"; 
         $exe_query_del_abo = mysql_query ( $query_del_abo ); 
      } 
   } 

En revanche, dans mon formulaire, j'ai un champ email (qui s'inscrit correctement), et un menu déroulant $champ13 qui renvoi 1 pour une inscription en liste 1 ou qui renvoi 3 pour une inscription en liste 3.

J'ai donc tenter un truc du genre

if ($champ13 == "3"){
            
            $query_liste = "INSERT INTO wa_abo_liste (abo_id, liste_id, format, register_key, register_date, confirmed) VALUES (".$id_abo.", 3, ".$format.", '".generate_key(20)."', ".time().", 1)"; 
            }elseif ($champ13 == "1"){ 
            $query_liste = "INSERT INTO wa_abo_liste (abo_id, liste_id, format, register_key, register_date, confirmed) VALUES (".$id_abo.", 1, ".$format.", '".generate_key(20)."', ".time().", 1)"; 
            } 
                        
            $exe_query_liste = mysql_query ( $query_liste ); 
         } 

sur la ligne de code de padawa correspondant à la table LIST...

... et ca ne fonctionne pas... comment faire, estce possible? estce une faute de frappe? de code ?

Merci de m'éclairer.

Alban

#3 Re : Aide technique » Script d'inscription » 2007-09-22 14:55:01

Bonjour,

je souhaiterais savoir les lignes de commande pour inserer un inscrits dans la table wa_abonnes, sans passer par le formulaire. (pour qu'il ne recoive pas de mail d'inscription)

J'ai un formaulaire de contact, propre a mon site, et je souhaite enregistrer automatiquement mon champ $mail dans wanews... avec un truc du genre INSERT SQL.

merci

Alban

Pied de page des forums

Propulsé par FluxBB