Extras - Newsletter: Anleitung, Bugfix, Neu, Multilanguage

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » So 12. Feb 2006, 22:26

nicnac hat geschrieben:also ich habe ja daran nichts geändert, daher ist der Auszug aus dem Modul noch Original
Das war nicht der Kern der Frage, der Kern der Frage war, woher die Aussage "Aktion abgewiesen" kommt. In dem von dir geposteten Quelltext kommt sie jedenfalls nicht vor.
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » So 12. Feb 2006, 22:33

Stimmt!
ist mir gar nicht aufgefallen.

Abgewiesen ist natürlich was anderes als fehlgeschlagen.

da werde ich noch einmal ganz genau nachfragen müssen.
Gruß nicnac
---------------
arbeite seit Contenido Version 4.4.5 mit dem System, ca. 30 Websites mit Contenido umgesetzt auf domainfactory, Strato und 1und1.

stutzi
Beiträge: 27
Registriert: Mo 19. Sep 2005, 15:18
Wohnort: Bissingen
Kontaktdaten:

Mail wird nicht versendet

Beitrag von stutzi » Fr 17. Feb 2006, 13:17

Habe das Modul 2.0 genau nach Anleitung installiert. Offline alles klar, jedoch bei Hosteurope kein Mailversand. (War generelles Problem, mitlerweile behoben. Über Kontaktformular ist jetzt Mailversand möglich).
Es kommt zwar eine Erfolgsmeldung, das der Newsletter versendet wurde, die Mail kommt aber nicht an. Im Errorlog keinerlei Einträge. Kann es an unterschiedlichen PHP-Versionen liegen? Meine Contenido Version ist 4.4.5, auf HE läuft PHP 4.4.2

Hat jemand eine hilfreiche Idee :?:
Grüße aus Bissingen
Reinhard Stutz
http://www.nlnv.de

stutzi
Beiträge: 27
Registriert: Mo 19. Sep 2005, 15:18
Wohnort: Bissingen
Kontaktdaten:

Kein Mailversand

Beitrag von stutzi » Mi 22. Feb 2006, 11:30

Problem wie im Beitrag zuvor. Hat niemand ne Idee :?:
Grüße aus Bissingen
Reinhard Stutz
http://www.nlnv.de

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Manchmal kann kein Account angelegt werden

Beitrag von nicnac » Do 2. Mär 2006, 10:58

so.
noch einmal zu meinem alten Problem, konnte das endlich mit dem Kunden besprechen. Und zwar kommt folgende Fehlermeldung auf der Seite (habe einen Screen erhalten zur Kontrolle)

Aktion fehlgeschlagen!

Newsletter-Account konnte nicht bestätigt werden.


ich weiß jetzt leider nicht, welche Informationen noch benötigt werden um das Problem einzukreisen.

Danke schon mal
Gruß nicnac
---------------
arbeite seit Contenido Version 4.4.5 mit dem System, ca. 30 Websites mit Contenido umgesetzt auf domainfactory, Strato und 1und1.

stutzi
Beiträge: 27
Registriert: Mo 19. Sep 2005, 15:18
Wohnort: Bissingen
Kontaktdaten:

Keine Bestätigungsmail, kein Newsletter-Versand

Beitrag von stutzi » Mo 6. Mär 2006, 18:26

Hallo herrB,

habe das Newsletter-Modul von Seite 1 genau nach Anleitung installiert. Offline klappt alles bestens. Online bekomme ich weder eine Bestätigungs-Mail, noch kann ich einen Newsletter versenden. Es kommt zwar jeweils eine Erfolgmeldung, aber die Mail kommt nicht an oder wird nicht gesendet. Im Errorlog sind keine Fehlermeldungen. Ich verwende Contenido 4.4.5

Falls es hilft, hier der verwendete Modul-Code:


<?php
$from = "news@nlnv.de "; /* Specify sender e-mail */
$welcome_title = "Welcome"; /* Title of welcome newsletter, to deactivate function: use "" */

switch ($lang):
case 0: /* There is never a language with id 0, just an example */
$msg = array ("txtMsgSubscribeHeader" => "Newsletter: Confirmation",
"txtMsgSubscribe" => "Dear user,\nto confirm your newsletter subscription please use this link:",
"txtMsgDeleteHeader" => "Newsletter: Cancellation",
"txtMsgDelete" => "Dear subscriber,\nto cancel your newsletter subscription please use this link:",
"htmlErrNoEMail" => "Please specify an e-mail adress.",
"htmlOKSubscribe" => "Dear user,<br><br>you should get an e-mail in just a few seconds. Please confirm your newsletter subscription using the link provided in the e-mail.",
"htmlErrSubscribe" => "This e-mail adress is already listed for the newsletter subscription.",
"htmlOKDelete" => "Dear subscriber,<br><br>you should get an e-mail in just a few seconds. To confirm the cancellation of your newsletter subscription please use the link provided in the e-mail.",
"htmlErrDelete" => "This e-mail adress doesn't receive our newsletter.",
"htmlOKConfirm" => "Operation successful, thank you!<br><br>You are now member of the big family of subscribers to our newsletter.",
"htmlOKConfirmWelcome" => " Even the welcome newsletter is on the way to you!",
"htmlErrConfirm" => "Operation not successful!<br><br>Your account hasn't been confirmed for the newsletter subscription.",
"htmlOKStop" => "Operation successful, you will not get our newsletter until you decide to do so again.",
"htmlErrStop" => "Operation not successful!<br><br>Your account doesn't take a break from newsletter subscription.",
"htmlOKGoOn" => "Operation successful. We are happy to send you our newsletter again.",
"htmlErrGoOn" => "Operation not successful!<br><br>Your account hasn't been reactivated again.",
"htmlOKUnsubscribe" => "We confirm the cancellation of the newsletter subscription.",
"htmlErrUnsubscribe" => "Operation not successful!<br><br>Your newsletter subscription hasn't been cancelled.");
break;
default: /* Use this area for your preferred (or your one and only) language */
$msg = array ("txtMsgSubscribeHeader" => "Newsletter: Bestätigung",
"txtMsgSubscribe" => "Sehr geehrter Interessent,\num Ihre Teilnahme am Newsletter zu bestätigen, klicken Sie bitte auf den unten stehenden Link:",
"txtMsgDeleteHeader" => "Newsletter: Abbestellen",
"txtMsgDelete" => "Sehr geehrter Newsletter-Abonnent, \num den Newsletter zu kündigen, klicken Sie bitte auf untenstehenden Link:",
"htmlErrNoEMail" => "Bitte geben Sie eine E-Mail-Adresse an.",
"htmlOKSubscribe" => "Sehr geehrter Interessent,<br><br>Sie erhalten gleich eine E-Mail. Bitte bestätigen Sie Ihre Teilnahme am Newsletter.",
"htmlErrSubscribe" => "Diese E-Mail-Addresse ist bereits für den Newsletter eingetragen.",
"htmlOKDelete" => "Sehr geehrter Abonnent,<br><br>Sie erhalten gleich eine eMail. Bitte bestätigen Sie die Kündigung des Newsletters.",
"htmlErrDelete" => "Diese E-Mail-Addresse ist nicht für den Newsletter eingetragen.",
"htmlOKConfirm" => "Aktion erfolgreich, vielen Dank!<br><br>Sie gehören nun zum Kreis der Newsletter-Abonnenten.",
"htmlOKConfirmWelcome" => " Bereits unser Willkommens-Newsletter ist auf dem Weg zu Ihnen!",
"htmlErrConfirm" => "Aktion fehlgeschlagen!<br><br>Newsletter-Account konnte nicht bestätigt werden.",
"htmlOKStop" => "Ihr Newsletter-Abonnement pausiert.",
"htmlErrStop" => "Aktion fehlgeschlagen!<br><br>Newsletter-Account konnte nicht pausiert werden.",
"htmlOKGoOn" => "Aktion erfolgreich. Wir senden Ihnen gerne wieder unseren Newsletter.",
"htmlErrGoOn" => "Aktion fehlgeschlagen!<br><br>Newsletter-Account konnte nicht reaktiviert werden.",
"htmlOKUnsubscribe" => "Wir bestätigen hiermit die Kündigung Ihres Newsletter-Abonnements.",
"htmlErrUnsubscribe" => "Aktion fehlgeschlagen!<br><br>Newsletter-Account wurde nicht gekündigt.");
endswitch;

$rcp_id = 0;
$rcp_found = false;

if ($action == "subscribe")
{
if (!isset($email) || !$email) {
echo $msg["htmlErrNoEMail"];
} else {
$encoded_email = urlencode(strtolower($email));
$sql = "SELECT idnewsrcp FROM ".$cfg["tab"]["news_rcp"] ." WHERE email = '$encoded_email' AND idclient='$client' AND idlang='$lang'";

$db->query($sql);
if (!$db->next_record())
{
$body = $msg["txtMsgSubscribe"]."\n".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&confirm=".md5($encoded_email)."\n\n";

$timestamp = date("Y-m-d H:i:s");
$sql = "INSERT INTO ".$cfg["tab"]["news_rcp"] ." SET idnewsrcp = '".$db->nextid($cfg["tab"]["news_rcp"])."', idclient='$client', idlang='$lang', author='website', email='$encoded_email', name='".urlencode($emailname)."', deactivated='1', created='$timestamp'";
$db->query($sql);

mail("$email", $msg["txtMsgSubscribeHeader"], "$body", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]");

echo $msg["htmlOKSubscribe"];
} else {
echo $msg["htmlErrSubscribe"];
}
}
}

if ($action == "delete")
{
if (!isset($email) || !$email) {
echo $msg["htmlErrNoEMail"];
} else {
$encoded_email = urlencode(strtolower($email));
$sql = "SELECT idnewsrcp FROM ".$cfg["tab"]["news_rcp"] ." WHERE email = '$encoded_email' AND idclient='$client' AND idlang='$lang'";

$db->query($sql);
if ($db->next_record())
{
$body = $msg["txtMsgDelete"]."\n".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&unsubscribe=".md5($encoded_email)."\n\n";

mail("$email", $msg["txtMsgDeleteHeader"], "$body", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/" . phpversion()."]");

echo $msg["htmlOKDelete"];
} else {
echo $msg["htmlErrDelete"];
}
}
}

if (strlen($confirm) == 32)
{
$sql = "SELECT idnewsrcp, name, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang' AND confirmed = '0'";
$db->query($sql);

while (!$rcp_found && $db->next_record())
{
if ($confirm == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
$name = urldecode($db->f("name"));
$encoded_email = $db->f("email");
$to = urldecode($encoded_email);
/* If no name given, use e-mail as name */
if (empty($name)) {
$name = $to;
}
}
}
if ($rcp_found) {
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET confirmed = '1', deactivated = '0' WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKConfirm"];
if ($welcome_title != "") {
$sql = "SELECT * FROM ".$cfg["tab"]["news"]." WHERE idclient='$client' AND idlang='$lang' AND name='$welcome_title'";
$db->query($sql);
if ($db->next_record()) {
$from = $db->f("newsfrom");
$subject = $db->f("subject");
$message = $db->f("message");
$date = $db->f("newsdate");
$dateday = $date[8].$date[9].".".$date[5].$date[6].".".$date[0].$date[1].$date[2].$date[3];
$time = $date[11].$date[12].":".$date[14].$date[15].":".$date[17].$date[18];

$sql = "SELECT idclient, htmlpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='$client'";
$db->query($sql);
$db->next_record();
$path = $db->f("htmlpath")."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&";

$message = str_replace("MAIL_NUMBER", "1", $message); /* $number wird mit 1 gesetzt, da nur ein Empfänger */
$message = str_replace("MAIL_DATE", "$dateday", $message);
$message = str_replace("MAIL_TIME", "$time", $message);

$message = str_replace("MAIL_NAME", "$name", $message);
$message = str_replace("MAIL_UNSUBSCRIBE", $path."unsubscribe=".md5($encoded_email), $message);
$message = str_replace("MAIL_STOP", $path."stop=".md5($encoded_email), $message);
$message = str_replace("MAIL_GOON", $path."goon=".md5($encoded_email), $message);

if (mail("$to", "$subject", "$message", 'From: '.$from."\n"."X-Mailer: Contenido [PHP/".phpversion())) {
echo $msg["htmlOKConfirmWelcome"];
}
}
}
} else {
echo $msg["htmlErrConfirm"];
}
}

if (strlen($stop) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);

while (!$rcp_found && $db->next_record())
{
if ($stop == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
}
}
if ($rcp_found) {
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '1' WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKStop"];
} else {
echo $msg["htmlErrStop"];
}
}

if (strlen($goon) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);

while (!$rcp_found && $db->next_record())
{
if ($goon == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
}
}
if ($rcp_found) {
$sql = "UPDATE " .$cfg["tab"]["news_rcp"] ." SET deactivated = '0' WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKGoOn"];
} else {
echo $msg["htmlErrGoOn"];
}
}

if (strlen($unsubscribe) == 32)
{
$sql = "SELECT idnewsrcp, email FROM ".$cfg["tab"]["news_rcp"] ." WHERE idclient='$client' AND idlang='$lang'";
$db->query($sql);

while (!$rcp_found && $db->next_record())
{
if ($unsubscribe == md5($db->f("email")))
{
$rcp_found = true;
$rcp_id = $db->f("idnewsrcp");
}
}
if ($rcp_found) {
$sql = "DELETE FROM " .$cfg["tab"]["news_rcp"] ." WHERE idnewsrcp = '".$rcp_id."'";
$db->query($sql);
echo $msg["htmlOKUnsubscribe"];

} else {
echo $msg["htmlErrUnsubscribe"];
}
}
?>
Wenn ich in der Zeile
$body = $msg["txtMsgDelete"]."\n".$cfgClient[$client]["path"]["htmlpath"]."front_content.php?changelang=".$lang."&idcatart=".$newsletteridcatart."&unsubscribe=".md5($encoded_email)."\n\n";
den Teil
.md5($encoded_email).
rausnehme, kommt die Mail zwar an, jedoch unvollständig. Gibt's irgendwo noch eine Einstellung zu dieser Verschlüsselung? Müssen noch irgendwelche Rechte vergeben werden? "Normale" Mails über das Kontaktformular kommen immer an.

Ich bin dankbar für jeden Tipp :?
Grüße aus Bissingen
Reinhard Stutz
http://www.nlnv.de

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Di 21. Mär 2006, 20:23

Hallo HerrB,

könntest Du mir vielleicht bei meinem Problem weiterhelfen?
Ich selber weiß leider nicht woran es liegt :(

siehe das posting von mir etwas weiter oben.

Thx
Gruß nicnac
---------------
arbeite seit Contenido Version 4.4.5 mit dem System, ca. 30 Websites mit Contenido umgesetzt auf domainfactory, Strato und 1und1.

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 22. Mär 2006, 00:16

@stutzi: Habe Deine Beiträge übersehen, sorry. Bei Hosteurope muss die 5. Option für mail() gesetzt werden. Sollte in diesem Thread irgendwo erwähnt sein. Sonst mal nach hosteurope und mail und herrb suchen.

Das mit dem md5 verstehe ich nicht, vielleicht ein Spezifikum von Hosteurope.

@nicnac: Fein, dann versuchen wir es nochmal. Deine Beiträge sagen nie, ob es auch mal funktioniert hat. Daher: Tritt dieses Problem nur bei bestimmten Browsern auf oder immer? Und ihr seid euch ganz sicher, dass diese E-Mail noch nicht bestätigt ist?

Wie gesagt, funktioniert es unter Windows mit IE oder FF?

Ansonsten bitte ich um Anmeldedaten via PM.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

nicnac
Beiträge: 326
Registriert: Do 6. Jan 2005, 15:21
Wohnort: Bln
Kontaktdaten:

Beitrag von nicnac » Mi 22. Mär 2006, 09:08

Guten Morgen HerrB,

oh sorry, ist mir gar nicht aufgefallen...

Also Statement vom Kunden:
bei pc und netscape 7.0 heisst es: Aktion abgewiesen
Tatsächlich bin ich aber angemeldet und aktiviert.
Bei mac osX und safari ebenfalls Aktion abgewiesen, trotzdem angemeldet und deaktiviert.

Bei mir am PC Win 2000 FF/IE funktionierte alles.
Also anmelden, E-Mail bekommen und bestätigten. Ich bin dann eingetragen.
Gruß nicnac
---------------
arbeite seit Contenido Version 4.4.5 mit dem System, ca. 30 Websites mit Contenido umgesetzt auf domainfactory, Strato und 1und1.

Gesperrt