osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [resolu] Ntwsletter en HTML + unsubscribe
Gyakutsuki
posté 14 Jun 2003, 13:57
Message #1


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



Bonjour,

J'essaye d'integrer la récupération de l'adresse mail du client afin qu'il puisse se désabonner de la newsletter.

Tout marche correctement sauf que je n'arrive pas à récupérer l'adresse mail dans le corps du message.
J'arrive à ce résultat.

exemple :
qqsqfsqfqfsqfsqfsfsqf







--------------------------------------------------------------------------------





Pour se désabonner de notre Newsletter, cliquer sur le lien suivant :
http://imaginis/unsubscribe.php?email=





CODE
   function send($newsletter_id) {

     $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");



     $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));

     // MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.5 Newsletter HTML

     if (HTML_AREA_WYSIWYG_DISABLE_NEWSLETTER == 'Disable') {

     $mimemessage->add_text($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . "?email=" . $mail['customers_email_address']);

     } else {

     $mimemessage->add_html($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . "?email=" . $mail['customers_email_address']);



     // MaxiDVD Added HTML is ON when WYSIWYG BOX Enabled, HTML is OFF when WYSIWYG Disabled

     }

     $mimemessage->build_message();

     while ($mail = tep_db_fetch_array($mail_query)) {

       $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);

     }



     $newsletter_id = tep_db_prepare_input($newsletter_id);

     tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'");

   }

 }



a Priori cela viendrait de ces lignes :

CODE
    if (HTML_AREA_WYSIWYG_DISABLE_NEWSLETTER == 'Disable') {

     $mimemessage->add_text($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . "?email=" . $mail['customers_email_address']);

     } else {

     $mimemessage->add_html($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . "?email=" . $mail['customers_email_address']);


Avez vous une idée ?


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
pericles
posté 14 Jun 2003, 14:48
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Administrateur
Messages : 1670
Inscrit : 14-August 02
Membre no 369



QUOTE
   function send($newsletter_id) {
     $mail_query = tep_db_query(\"select customers_firstname, customers_lastname, customers_email_address from \" . TABLE_CUSTOMERS . \" where customers_newsletter = '1'\");

     $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
     // MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.5 Newsletter HTML
     if (HTML_AREA_WYSIWYG_DISABLE_NEWSLETTER == 'Disable') {
     $mimemessage->add_text($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . \"?email=\" . $mail['customers_email_address']);
     } else {
     $mimemessage->add_html($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . \"?email=\" . $mail['customers_email_address']);

     // MaxiDVD Added HTML is ON when WYSIWYG BOX Enabled, HTML is OFF when WYSIWYG Disabled
     }
     $mimemessage->build_message();
     while ($mail = tep_db_fetch_array($mail_query)) {
       $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
     }

     $newsletter_id = tep_db_prepare_input($newsletter_id);
     tep_db_query(\"update \" . TABLE_NEWSLETTERS . \" set date_sent = now(), status = '1' where newsletters_id = '\" . tep_db_input($newsletter_id) . \"'\");
   }
 }

Tu executes du code avant de t'assurer que la variable est initialisée.
En effet, la variable $mail est utilise avant d'etre initialise (hors de la boucle).
Pour t'en sortir, 2 possibilités :

1. tu construis ton message en dehors de la boucle et dans ce cas, tu mets un lien statique du genre "Pour vous désabonner, faites ceci, cela, bla bla"

2. tu construis ton message dans la boucle et comme cela tu peux mettre ton message de lien direct en fonction de l'adresse email

Chacun a ses avantages et inconvénients : la (1), tu ne peux pas mettre de lien spécifique pour chaque email, alors que pour le (2), la construction du message est très lourde.
La solution que j'ai prise est la 1ère pour le moment, car avec la mécanique de newsletter actuel , en utilisant la solution (1), il faut déjà compter 3 mn pour envoyer plus de 500 messages !!!

Vu que tu es sur la newsletter, vérifie que cela fonctionne pour un grand nombre d'envoi : nous avons eu un problème car les newsletter partait plusieurs fois !!!


--------------------
CVS 2.2 MS1 (17/02/2003)
Go to the top of the page
 
Gyakutsuki
posté 14 Jun 2003, 16:14
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



Pour la solution 2, j'ai essayé de modifier les lignes pour l'intégrer dans la boulce mais cela ne marche pas, as tu une idée comment je pourrais faire ?


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
pericles
posté 14 Jun 2003, 17:40
Message #4


Ceinture marron OSC
Icône de groupe

Groupe : Administrateur
Messages : 1670
Inscrit : 14-August 02
Membre no 369



Tu peux essayer cela

CODE
   function send($newsletter_id) {

     $mail_query = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");



     while ($mail = tep_db_fetch_array($mail_query)) {

       $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));

       // MaxiDVD Added WYSIWYG HTML Area Box + Admin Function v1.5 Newsletter HTML

       if (HTML_AREA_WYSIWYG_DISABLE_NEWSLETTER == 'Disable') {

       $mimemessage->add_text($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . "?email=" . $mail['customers_email_address']);

       } else {

       $mimemessage->add_html($this->content . TEXT_UNSUBSCRIBE . HTTP_SERVER . DIR_WS_CATALOG . FILENAME_UNSUBSCRIBE . "?email=" . $mail['customers_email_address']);



       // MaxiDVD Added HTML is ON when WYSIWYG BOX Enabled, HTML is OFF when WYSIWYG Disabled

       }

       $mimemessage->build_message();

       $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);

     }



     $newsletter_id = tep_db_prepare_input($newsletter_id);

     tep_db_query("update " . TABLE_NEWSLETTERS . " set date_sent = now(), status = '1' where newsletters_id = '" . tep_db_input($newsletter_id) . "'");

   }

 }


Mais comme je te le disais, les temps d'envoi vont pas mal se ralonger.


--------------------
CVS 2.2 MS1 (17/02/2003)
Go to the top of the page
 
Gyakutsuki
posté 14 Jun 2003, 19:10
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



Ok ca marche,

Je n'avais pas pensé à faire remonter la boucle while !

Pour ce qui est de ta remarque sur les envois, pour l'instant je n'ai pas beaucoup sinon rien comme mail, puisque je suis toujours en développement. Mais j'ai pris note de ta remarque, j'aviserais en tant utile, et peut être le faire en dur.

Merci.


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
pericles
posté 14 Jun 2003, 20:32
Message #6


Ceinture marron OSC
Icône de groupe

Groupe : Administrateur
Messages : 1670
Inscrit : 14-August 02
Membre no 369



QUOTE (Gyakutsuki)
Pour ce qui est de ta remarque sur les envois, pour l'instant je n'ai pas beaucoup sinon rien comme mail, puisque je suis toujours en développement. Mais j'ai pris note de ta remarque, j'aviserais en tant utile, et peut être le faire en dur.

Comme tu veux, mais saches que cela va te prendre beaucoup de temps avec même peu de souscription !!! Fais des tests et benchmarks tes résultats avec une 50 d'email différentes (tu n'ai pas obligé d'envoyé les emails, mais juste la construction par exemple) et tu verras wink.gif


--------------------
CVS 2.2 MS1 (17/02/2003)
Go to the top of the page
 
azer
posté 28 Jun 2003, 04:22
Message #7


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 744
Inscrit : 26-January 03
Lieu : paris
Membre no 775



Gyakutsuki
tas teste ? cest supportable ou bien ? lol


--------------------
OSC addict - ms2fr - mail : azerosc (at) gmail.com
Go to the top of the page
 
Gyakutsuki
posté 28 Jun 2003, 15:27
Message #8


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



non, il faudrait que je crée 50 mails et unenewskletter adaptée avec image et tout le smill, On verra ça en tant voulut


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
morpheus
posté 5 Jul 2003, 10:27
Message #9


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 55
Inscrit : 24-April 03
Lieu : Colmar (68)
Membre no 1103



Salut,

Vu la date du post , j'arrive un peu après la bataille !!

Mais depuis y'a t-il eu des avancées sur le sujet?, genre package qui fonctionne avec les adaptations d'usage....

En faite j'ai des essais par le soft " sarbacane " qui envois des emails à une liste, mais en HTML , donc il sufit de fabriquer un sorce avec les bon liens, mais bon !!! évidement au bout d'un moment c'est payant ...

J'ai du lire l'une au l'autre fois ,que OSC pouvait aussi faire dans le genre, mais que cela dépendait de l'hébergeur ???
Bon si quelqu'un à un truc je prends, de mon ^côté je continu à chercher

A+ laugh.gif


--------------------
niveau PHP ( assez nul ) mais je me soigne !!
Go to the top of the page
 
Gyakutsuki
posté 5 Jul 2003, 10:43
Message #10


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



Tu met en place ce fichier dspo sur os.com : html_wysiwygEditor_v1.6.6.zip

Ah il te faut aussi ce fichier
Newsletter Unsubscribe v1.1.zip


puis tu fais les modifications nécessaires qui sont données dans ce post.

Ou peut ton trouver sabarcane.

Si tu fais des tests, tiens nous au courant.


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
morpheus
posté 5 Jul 2003, 11:35
Message #11


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 55
Inscrit : 24-April 03
Lieu : Colmar (68)
Membre no 1103



Tu le trouvera ici vers la bas de la page

http://www.partagiciel.com/shareware/pc/53.htm

C vachement bien, mais c'est cher !!!

je vais chercher tous les zip que tu m'a indiqué..

et advienne que pourra !! wink.gif


--------------------
niveau PHP ( assez nul ) mais je me soigne !!
Go to the top of the page
 
morpheus
posté 5 Jul 2003, 15:40
Message #12


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 55
Inscrit : 24-April 03
Lieu : Colmar (68)
Membre no 1103



again

est-ce que : Newsletter Unsubscribe v1.1.zip
suffit ou il faut prendre
newsletter_module_v02.zip ??

smile.gif


--------------------
niveau PHP ( assez nul ) mais je me soigne !!
Go to the top of the page
 
Gyakutsuki
posté 5 Jul 2003, 19:02
Message #13


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



Newsletter Unsubscribe v1.1.zip


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
Allande
posté 21 Jan 2004, 11:29
Message #14


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 379
Inscrit : 14-April 03
Membre no 1061



Bonjour, je viens d'installer html_wysiwygEditor_v1.6.6. et je m'apprête à installer newsletter unscribe

j'ai fait l'étape 1 3 et 4 de l'installation

pour l'étape 2 je dosi modifier le newsletter php mais ce fichier a été modifié par wysiwyg...

si qq1 pourrait m'aider à mettre les bonnes lignes au bon endroit...

ah oui je suis sur creload5...
Go to the top of the page
 
Gyakutsuki
posté 21 Jan 2004, 11:33
Message #15


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1913
Inscrit : 3-October 02
Lieu : Montréal
Membre no 467



regarde au dessus la solution donnée par péricles


--------------------
Cordialement,

Gyakutsuki
----------------------------------------------

Portail - FAQ - Banques - Manuel Complet (anglais)
Go to the top of the page
 
Allande
posté 21 Jan 2004, 11:45
Message #16


Ceinture orange+ OSC
Icône de groupe

Groupe : Membres
Messages : 379
Inscrit : 14-April 03
Membre no 1061



oupss faut que je m'achète une paire de lunette.... merci.... blush.gif
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 25th May 2013 - 01:23
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)