Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : 1 lien pour se désinscrire mais 2 tables abonnés [ Divers / Général ] (crazykamel)

lundi 30 avril 2007 à 09:52:51 | 1 lien pour se désinscrire mais 2 tables abonnés

crazykamel

Bonjour à tous, voilà des lustres que je ne suis pas revenu sur ce site qui a plus que contribué à mon apprentissage du php ^^

Alors voilà, je souhaiterais rajouter à ma newsletter un lien pour se désabonner, mais comment gérer la désinscription avec mes 2 tables ? En effet, dans le corps du mail j'envoie l'adresse de l'abonné, mais je ne sais pas le faire pour 2 tables différentes...

Ci dessous mon envoi de mail :

while ($mail = tep_db_fetch_array($mail_query1)) {
                      $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
                    $mimemessage->add_html($this->html_content.'<br><br>'.TEXT_NEWSLETTER_OPTOUT.'<br>'.'<a href="'.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['customers_email_address'].'">Se désinscrire</a>');
                 $mimemessage->build_message();
                $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
              }

Il me semble que le souci est concentré sur cette ligne :

$mimemessage->add_html($this->html_content.'<br><br>'.TEXT_NEWSLETTER_OPTOUT.'<br>'.'<a href="'.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['email'].'">Se désinscrire</a>');

J'hésite entre 2 explications
-> ou on ne peut rien rajouter à ce moment de la formation du mail, car je peux rajouter '<br><br>'.TEXT_NEWSLETTER_OPTOUT.'<br>'.'<a href="'.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['email'].'">Se désinscrire</a>'); dans le corps du mail de cette manière html_content.=

(cette solution m'aurait arrangé car plus simple, seulement j'ai besoin de transmettre le mail du membre dans le lien pour sa désincription, et comme j'ai 2 tables avec les inscrits membres et les inscrits "page d'accueil", je ne vois d'autre choix que rajouter le code en vert dans les 2 boucles while de fin.)

-> ou bien il est possible -et je ne sais comment faire- d'intégrer mon code en vert dans le corps du mail (html_content.=) tout en spécifiant la bonne adresse dans dans ?email='.$mail['email'].'


Si quelqu'un a une idée, je suis plus que preneur !


lundi 30 avril 2007 à 11:29:07 | Re : 1 lien pour se désinscrire mais 2 tables abonnés

Flachy Joe

C'est pas tres clair ton histoire...
tu as donc 2 tables, qui servent à une seule newsletter ?
est-ce que les inscrits le sont dans les 2 tables, ou uniquement dans l'une ou peut-être dans les 2 ?
tu peut modifier ta page de desinscription ? est ce que tu en as une pour chaque liste ?
est ce que les 2 tables ont des champs communs ?

Flachy Joe

lundi 30 avril 2007 à 11:58:36 | Re : 1 lien pour se désinscrire mais 2 tables abonnés

crazykamel

Désolé pour mon manque de clarté.

Alors j'ai une newsletter que je voudrais envoyer à 2 tables en même temps (une table customers et une table newsletter_suscriber).
Ces 2 tables sont indépendantes dans le sens où la première recense les utilisateurs ayant cochés "oui à la news"
Quant à la seconde table, elle concerne les visiteurs qui ont renseigné leur email sur la page d'accueil pour s'inscrire à la news et pas au site.
Je n'ai pas encore fait la page de désincription, mais ce ne sera pas le plus dur je pense.
Et non les 2 tables n'ont pas les mêmes champs :
table customer :
customer_id
customer_gnder
customer_firstname
customer_email (1=abonné)
customer_defautadress
Etc.

Table newsletter_suscriber
id_abonne
email
desabonne (0 = abonné)


Voici le contenu de mon mail :

$html_content .= '</tr><tr><td class="content" align="center" width="' . $width . '%"><a href="' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $images['products_id']) . '"  class="content">' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_NORMAL_IMAGES . $images['products_image'], $images['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '<br>' . $images['products_name'] . '<br>' . $currencies->display_price($images['products_price'], tep_get_tax_rate($images['products_tax_class_id'])) . '</a></td>';
                $col = 0;
            }else{
                $html_content .= '<td class="content" align="center" width="' . $width . '%"><a href="' . tep_catalog_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $images['products_id']) . '"  class="content">' . tep_image(HTTP_CATALOG_SERVER . DIR_WS_NORMAL_IMAGES . $images['products_image'], $images['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '<br>' . $images['products_name'] . '<br>' . $currencies->display_price($images['products_price'], tep_get_tax_rate($images['products_tax_class_id'])) . '</a></td>';
            }
            $col++;
        }
        $html_content .= '</tr></table>';


et mes envois de mail :

 function send($newsletter_id) {
      $mail_query1 = tep_db_query("select customers_firstname, customers_lastname, customers_email_address from " . TABLE_CUSTOMERS . " where customers_newsletter = '1'");
      $mail_query2 = tep_db_query("select id_abonne, desabonne, email from newsletter_subscribers where desabonne = '0'");
     
                 // Construction du mail
               
                // Envoi membres
              while ($mail = tep_db_fetch_array($mail_query1)) {
                 $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
                $mimemessage->add_html($this->html_content.'<br><br>'.TEXT_NEWSLETTER_OPTOUT.'<br>'.'<a href="'.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['customers_email_address'].'">Se désinscrire</a>');
                $mimemessage->add_html($this->html_content());
                $mimemessage->build_message();
                $mimemessage->send($mail['customers_firstname'] . ' ' . $mail['customers_lastname'], $mail['customers_email_address'], '', EMAIL_FROM, $this->title);
              }
             
              // Envoi visiteurs
              while ($mail = tep_db_fetch_array($mail_query2)) {
                  $mimemessage = new email(array('X-Mailer: osCommerce bulk mailer'));
                $mimemessage->add_html($this->html_content.'<br><br>'.TEXT_NEWSLETTER_OPTOUT.'<br>'.'<a href="'.HTTP_SERVER.DIR_WS_CATALOG.FILENAME_NEWS_OPTOUT.'?email='.$mail['email'].'">Se désinscrire</a>');
                $mimemessage->add_html($this->html_content());
                $mimemessage->build_message();
                $mimemessage->send($mail['id_abonne'] . ' ' . $mail['desabonne'], $mail['email'], '', 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) . "'");
    }

C'est plus clair ?

lundi 30 avril 2007 à 14:57:19 | Re : 1 lien pour se désinscrire mais 2 tables abonnés

crazykamel

Réponse acceptée !
j'ai résolu mon problème, suffisait de remplacer $this->html_content par $this->content, merci quand même Flashy Joe



Cette discussion est classé dans : mail, html, tables, désinscrire, mimemessage


Répondre à ce message

Sujets en rapport avec ce message

Formulaire d'envoi de mail en HTML [ par slhuilli ] Bonjour,Je suis a la recherche d'un script (PHP si possible) pour pouvoir écrire des mails au format HTML (gestion des gras, souligné et italique ains mail html ou text [ par LoRdKiFlEx ] voila je suis debutant est j'ai trouver un script qui envoie des e-mail en html et si le client mail ne les accepte pas en text normal. Seulement se s pb envoie de mail format HTML [ par ckoo ] bonjour,j'ai fait un script qui envoie un mail formaté en HTML, le mail est fait d'informations provenant d'un formulaire. Le pb que j'ai, c'est que t php/mail en html [ par ckoo ] bonjour,j'ai un script qui envoie un mail au format HTML, tt fonctionne sauf quand le mail contient des caractères spéciaux du type "é" ou "ö", commen Envoyer un mail au format HTML [ par predateur ] Bonjour,Je cherche un script tout pret pour envoyer des mail au format HTML. Avec la partie html et la partie php.Merci d'avance mail pr des Pros !!! [ par ckoo ] bonjour,j'ai un script qui envoie des mails au format HTML,cependant j'ai fait un "img src....." pr mettre des images dans le mail format HTML mais à prbl : un include dan un envoi de mail [ par malob87 ] bjr a tous, voici mon code complet:if(empty($_POST[msg]))//on vérifie avec empty voir si les champs sont vide {print "le champ msg est vide"; //si Envoi de mail HTML [ par cyaya ] j'ai ecrit ce code pour envoyer des mail avec un textArea en format text, je voudrais savoir s'il y une option à rajouter pour pouvoir envoyer le mail Mail HTML [ par MAsterC ] Salut à tous!!Pour envoyer un mail avec le PHP j'utilise: mail()....J'ai vu que /n = un EntréMais si je veux poster un Mail en HTML... les caractères Problème d'image lors d'envoi en HTML avec mail() [ par Drazounet ] Salut à tous,Je suis en train de concevoir un mailer qui doit pouvoir envoyer des e-mail au format HTML, les liens ou les tableaux fonctionnent, mais


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.