Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

problem with contrib Box newsletter - no mail and no Unsubscribe


Recommended Posts

hello,

 

i have big problems with contrib Box newsletter

http://www.oscommerce.com/community/contri...,Box+newsletter

 

 

1. error:

i can make an newsletter, i send it and in the screen its OK but tere is no newsletter send.

 

2. error:

in the index is the newsletter box with subscribe nad unsubscribe.

i add an adress - its ok

than i go to Unsubscribe and add the same adress and it comes:

the adress exist already - this meen i cand delete the exist adress - why?

 

regard

bit

Link to comment
Share on other sites

Hallo,

to 1:

  • please check, if in the database table customers_newsletter the field customers_newsletter_invite is set to 2. Only this data will be considered.
  • please check whether the count of the respective emails are shown, when you send the newsletter in the admin tool. After the confirmation all email-addresses, the newsletter is send to, are shown at the top of the page /admin/newsletter.php . Does this happens ?

zu 1:

  • bitte überprüfe, ob in der DB-Tabelle customers_newsletter das Feld customers_newsletter_invite auf 2 sitzt. Nur diese Einträge werden im folgenden berücksichtigt.
  • bitte überprüfe, ob im Admin beim Senden des Newsletters die Anzahl der Newsletterempfänger angezeigt wird. Werden nach dem Bestätigen des Newsletters am Anfang der Seite /admin/newsletter.php die email-Adressen aufgelistet, an die der Newsletter versandt wurde ?

to 2: Have you changed the checkbox to "unsubscribe" and did you after that click at the button "confirm" ?

zu 2: wurde beim Abmelden zuerst der Radio-Button auf "Abmelden" und danach der Button "Bestätigen" betätigt ?

 

regards, amaische

Link to comment
Share on other sites

Hallo,

 

1. habe ich gelöst es lag an einem fehler in der

admin/includes/modules/newsletters/newsletter.php

 

ORIGINAL:

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

 

GEÄNDERT IN:

$mimemessage->send('', $mail['customers_newsletter_email'] , EMAIL_FROM, $this->title);

 

 

2. ich gebe die mailadresse ein, dann auf unsubscripe auswählen, dann auf subscripe klicken.

aber er sagt immer, dass die mailadresse schon eingegeben ist obwohl ich diese löschen will!

 

???

 

lg

bit

Link to comment
Share on other sites

2. ich gebe die mailadresse ein, dann auf unsubscripe auswählen, dann auf subscripe klicken.

aber er sagt immer, dass die mailadresse schon eingegeben ist obwohl ich diese löschen will!

???

 

Ich nehme an, daß er als Fehlermeldung den Inhalt von TEXT_INSCRIPTION_NEWSLETTER_EXISTE bringt.

Dies ist dann der Fall, wenn er das Löschen nicht erkennt. Bitte überprüfe in /catalog/includes/boxes/newsletter.php (ca. Zeile 38), ob folgendes enthalten ist (das Feld newsletter_invite muß im Fall der Abmeldung mit 0 belegt werden):

 

$in_out_action.= '<input name="newsletter_invite" type="radio" value="0">';

$in_out_action.= NEWSLETTER_BOX_NON . '<br><br>';

 

Nun sollte er im folgenden das Löschen ausführen.

amaische

Link to comment
Share on other sites

hallo,

 

das ist eigentlich alles so - hier ein auszug:

 

$info_box_contents = array();

$info_box_contents[] = array('align' => 'left',

'text' => BOX_HEADING_NEWSLETTER

);

 

$in_out_action = '

<form name="inscription_newsletter" action="inscription_newsletter.php?action=process" method="post">

<center>

<table border="0" cellpadding="0" cellspacing="0" class="smallText" >

<tr >

<td width="100%" height="16" class="smallText">';

$in_out_action.= NEWSLETTER_BOX_EMAILADDRESS;

$in_out_action.= '<input name="newsletter_email" size="12" /><br /><br />

</td>

</tr>

<tr>

<td width="100%" height="1" class="smallText">';

$in_out_action.= '<input name="newsletter_invite" type="radio" value="1" checked="checked" />';

$in_out_action.= NEWSLETTER_BOX_OUI . '<br />';

$in_out_action.= '<input name="newsletter_invite" type="radio" value="0" />';

$in_out_action.= NEWSLETTER_BOX_NON . '<br /><br />';

$in_out_action.='<input type="submit" value="';

$in_out_action.= NEWSLETTER_BOX_VALIDATION;

$in_out_action.='" name="submit" />';

$in_out_action.='<br /><br />' . NEWSLETTER_BOX_TEXT . '

 

 

 

lg

bit

Link to comment
Share on other sites

hallo,

 

das ist eigentlich alles so - hier ein auszug:

 

<!-- newsletter //-->

<tr>

<td>

<?php

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_INSCRIPTION_NEWSLETTER);

 

$info_box_contents = array();

$info_box_contents[] = array('align' => 'left',

'text' => BOX_HEADING_NEWSLETTER

);

 

$in_out_action = '

<form name="inscription_newsletter" action="inscription_newsletter.php?action=process" method="post">

<center>

<table border="0" cellpadding="0" cellspacing="0" class="smallText" >

<tr >

<td width="100%" height="16" class="smallText">';

$in_out_action.= NEWSLETTER_BOX_EMAILADDRESS;

$in_out_action.= '<input name="newsletter_email" size="12" /><br /><br />

</td>

</tr>

<tr>

<td width="100%" height="1" class="smallText">';

$in_out_action.= '<input name="newsletter_invite" type="radio" value="1" checked="checked" />';

$in_out_action.= NEWSLETTER_BOX_OUI . '<br />';

$in_out_action.= '<input name="newsletter_invite" type="radio" value="0" />';

$in_out_action.= NEWSLETTER_BOX_NON . '<br /><br />';

$in_out_action.='<input type="submit" value="';

$in_out_action.= NEWSLETTER_BOX_VALIDATION;

$in_out_action.='" name="submit" />';

$in_out_action.='<br /><br />' . NEWSLETTER_BOX_TEXT . '

</td>

</tr>

</table>

</center>

</form>

';

 

new infoBoxHeading($info_box_contents, false, false);

 

 

$info_box_contents = array();

$info_box_contents[] = array('align' => 'left',

'params' => 'class="smallText" valign="top"',

'text' => $in_out_action

);

 

new infoBox($info_box_contents);

 

?></td></tr>

<!-- newsletter_eof //-->

Link to comment
Share on other sites

Das sieht genauso aus wie bei mir. Ist in /catalog/inscription_newsletter.php ca in Zeile 138 folgender Eintrag drin ?:

<td><?php echo $messageStack->output('inscription_newsletter'); ?></td>

und beginnt die Datei mit:

 

 require('includes/application_top.php');

 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_INSCRIPTION_NEWSLETTER);

 $error = false;
 if (isset($HTTP_GET_VARS['action']) && (($HTTP_GET_VARS['action'] == 'process') || ($HTTP_GET_VARS['action'] == 'confirm')))
 {
       // Désabonnement de la newsletter
       $newsletter_email = tep_db_prepare_input($HTTP_POST_VARS['newsletter_email']);
       $newsletter_query = tep_db_query("select * from " . TABLE_CUSTOMERS_NEWSLETTER . " where customers_newsletter_email = '" . tep_db_input($newsletter_email) . "'");
   $newsletter = tep_db_fetch_array($newsletter_query);

   if ($newsletter_invite == '0')
   {
     tep_db_query("delete from " . TABLE_CUSTOMERS_NEWSLETTER . " where customers_newsletter_email = '" . tep_db_input($newsletter_email) . "'");

     $messageStack->add('inscription_newsletter', TEXT_INSCRIPTION_NEWSLETTER_UPDATE);

     // Envoi du mail de confirmation de désabonnement à la newsletter
     $email_text .= EMAIL_TEXT_NON . EMAIL_GRUSS . EMAIL_abschluss;
     $email_betreff = EMAIL_SUBJECT . ' ' . NEWSLETTER_BOX_NON;
     tep_mail('', $newsletter_email, $email_betreff, $email_text, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
   }
   else
   {
     // Vérification de la validité du mail

 

Falls das auch noch nicht hilft, könnte ich mir höchstens vorstellen, daß das newsletter_invite nicht richtig übergeben wird und wie folgt ausgelesen werden muß:

an der Stelle: $newsletter_email = tep_db_prepare_input($HTTP_POST_VARS['newsletter_email']);

darunter hinzufügen: $newsletter_invite = tep_db_prepare_input($HTTP_POST_VARS['newsletter_invite']);

amaische

Link to comment
Share on other sites

hallo,

 

mit deinem letzten tip hinzufügen klappt es:

darunter hinzufügen: $newsletter_invite = tep_db_prepare_input($HTTP_POST_VARS['newsletter_invite']);

 

 

nur eine frage, wenn der benutzer ausgetragen ist, und ich erneut auf austragen gehe kommt:

sie wurden erfolgreich ausgetragen.

 

das heißt dein script prüft nicht, ob die mailadresse noch drin ist, er führt anscheind jetzt immer löschen aus.

 

 

kannst du mir sagen was man hier machen müsste, denn wenn die mailadresse nicht registriert ist und man auf löschen geht hätte ich gern ein text ähnlich: die mailadresse ist nicht vorhanden????

 

ist das viel aufwand?

 

 

lg

bit

Edited by bitwicht
Link to comment
Share on other sites

Hallo,

habe soeben ein entsprechendes Update hochgeladen.

Wie ich gesehen habe, hast Du ebenfalls ein Update bzgl create_account hochgeladen. An dieser Baustelle hatte ich mir auch schon Gedanken gemacht - wenn ich es richtig gesehen habe, setzt Du den Newsletter gleich auf "Bestätigt" (newsletter_invite=2).

Dies ist m.E. nicht zulässig, da der Kunde immer das Double-In-Verfahren durchlaufen muß.

amaische

 

hallo,

 

mit deinem letzten tip hinzufügen klappt es:

darunter hinzufügen: $newsletter_invite = tep_db_prepare_input($HTTP_POST_VARS['newsletter_invite']);

nur eine frage, wenn der benutzer ausgetragen ist, und ich erneut auf austragen gehe kommt:

sie wurden erfolgreich ausgetragen.

 

das heißt dein script prüft nicht, ob die mailadresse noch drin ist, er führt anscheind jetzt immer löschen aus.

kannst du mir sagen was man hier machen müsste, denn wenn die mailadresse nicht registriert ist und man auf löschen geht hätte ich gern ein text ähnlich: die mailadresse ist nicht vorhanden????

 

ist das viel aufwand?

lg

bit

Link to comment
Share on other sites

@amaische

 

ja ich habe in der create das feld newsletter wieder reingebaut und setze es gleich auf 2.

ich denke wenn sich der kunde anmeldet und seine adressdaten eingibt hat er deutliche absichten.

also setze ich hier den newsletter gleich auf 2.

 

generell ist es die frage, ob "dein verfahren" überhaupt zulässig ist.

normal müsste man dem kunden einen eindeutigen link zur bestätigung schicken, und nicht auf eine confirmseite.

wenn ich einen anderen anmelden will, gebe ich dennen adresse ein und gehe gleich danach auf die confirm seite

(ok ich muss halt vorher wissen wie der link ist)

 

lg

timo

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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...