Newsletter

Get help with installation and running phpwcms here. Please do not post bug reports or feature requests here.
Post Reply
abm
Posts: 15
Joined: Mon 24. Nov 2003, 12:34
Location: Bern / Schweiz

Newsletter

Post by abm »

Eine kleine Frage zum Newsletter. Ich erhalte immer diese Meldung wenn ich mich eintragen will:

Warning: mail(): SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE. in /home/www/web206/html/cms/include/inc_front/content.article.inc.php on line 830

Es wird anschliessend auch kein Mail versendet. Das gleiche Problem hatte ich mit dem Kontaktformular. Als ich dort den Patch einspielte funktionierte alles. Gibt es auch einen Patch für den Newsletter?
Florian
Posts: 119
Joined: Wed 19. Nov 2003, 16:50
Location: Hamburg
Contact:

Post by Florian »

Entferne die Zeile 830, wo die mail() Funktion aufgerufen wird.

Anschließen fügst du folgenden Quelltext in die Datei ein:

Code: Select all

if(!ini_get('safe_mode')) {
			mail($send_copy_to, $subject, $body, "From: ".$recipient."\n", "-f ".$recipient);
		} else {
			mail($send_copy_to, $subject, $body, "From: ".$recipient."\n");
		}
Cheers,
Florian
abm
Posts: 15
Joined: Mon 24. Nov 2003, 12:34
Location: Bern / Schweiz

Welchen teil genau

Post by abm »

Kannst Du mir bitte genauer sagen welchen Teil Du meinst...

Code: Select all

$content["newsletter"]["mailtext"] = str_replace("{NEWSLETTER_DELETE}", $content["newsletter"]["delete_link"], 		$content["newsletter"]["mailtext"]);										
											
											mail(	$content["newsletter"]["email_address"],
													"newsletter verification to ".(($content["newsletter"]["email_name"]) ? $content["newsletter"]["email_name"] : 	$content["newsletter"]["email_address"]),
													$content["newsletter"]["mailtext"],
													"From: Newsletter Admin <".$phpwcms["admin_email"].">",
													"-f ".$phpwcms["admin_email"]);
											
										} else {
											//Error
											$content["newsletter"]["email_address_error"] = 1;					
										}
									
										$content["newsletter"]["email_address"] = html_specialchars($content["newsletter"]["email_address"]);
										$content["newsletter"]["email_name"] = html_specialchars($content["newsletter"]["email_name"]);
									}
									
									if($content["newsletter"]["success"]) {
										$content["newsletter"]["success_text"] = str_replace("{NEWSLETTER_EMAIL}", "<strong>".$content["newsletter"]["email_address"]."</strong>", $content["newsletter"]["success_text"]);
										$content["main"] .= div_class(
															( ($content["newsletter"]["success_text"]) ? nl2br($content["newsletter"]["success_text"]) :	"Email: ".$content["newsletter"]["email_address"]." successfully registred. You will receive a verification email within seconds.")
															, $template_default["article"]["text_class"]);
Last edited by abm on Mon 24. Nov 2003, 15:44, edited 1 time in total.
Florian
Posts: 119
Joined: Wed 19. Nov 2003, 16:50
Location: Hamburg
Contact:

Post by Florian »

Ok ich dachte die mailform und das Newsletter script seien gleich.

Anstatt:

Code: Select all

 mail( $content["newsletter"]["email_address"], "newsletter verification to ".(($content["newsletter"]["email_name"]) ? $content["newsletter"]["email_name"] : $content["newsletter"]["email_address"]), $content["newsletter"]["mailtext"], "From: Newsletter Admin <".$phpwcms["admin_email"].">", "-f ".$phpwcms["admin_email"]);

machst du:

Code: Select all

if(!ini_get('safe_mode')) {
          mail( $content["newsletter"]["email_address"], "newsletter verification to ".(($content["newsletter"]["email_name"]) ? $content["newsletter"]["email_name"] : $content["newsletter"]["email_address"]), $content["newsletter"]["mailtext"], "From: Newsletter Admin <".$phpwcms["admin_email"].">", "-f ".$phpwcms["admin_email"]); 
      } else {
          mail( $content["newsletter"]["email_address"], "newsletter verification to ".(($content["newsletter"]["email_name"]) ? $content["newsletter"]["email_name"] : $content["newsletter"]["email_address"]), $content["newsletter"]["mailtext"], "From: Newsletter Admin <".$phpwcms["admin_email"].">\n"); 
      } 


Probier mal ob es geht, ich hatte keine Möglichkeit das von hier zu testen.
Wenn es nicht geht nochmal hier posten.

Cheers,
Florian
abm
Posts: 15
Joined: Mon 24. Nov 2003, 12:34
Location: Bern / Schweiz

Jetzt sind wir schon weiter

Post by abm »

Die Fehlermeldung erscheint nicht mehr und das Mail wird auch gesendet.

Das Problem ist nur, dass kein aktivierungslink im Mail erscheint. Es kommt nur ein leeres Mail mit dem komischen Absneder:

wwwrun@tux3.hoststar.ch

und dem folgenden Betreff:

newsletter verification to Martin
Florian
Posts: 119
Joined: Wed 19. Nov 2003, 16:50
Location: Hamburg
Contact:

Post by Florian »

Das ist lustig :)
wwwrun <-- das ist der Dienst, unter dem die PIDs des Webservers zusammengefasst sind resp, die Usergruppe

tux3 <-- das ist der Servername(HOST im LAN) auf dem der Server läuft

hoststar.ch <-- das ist der DNS deines Providers

Sowas habe ich noch nie gesehen :D. Aber egal. Versuch mal das hier:

Code: Select all

if(!ini_get('safe_mode')) {
          mail( $content["newsletter"]["email_address"], "newsletter verification to ".(($content["newsletter"]["email_name"]) ? 
		  $content["newsletter"]["email_name"] : $content["newsletter"]["email_address"]), $content["newsletter"]["mailtext"], 
		  "From: Newsletter Admin <".$phpwcms["admin_email"].">", "-f ".$phpwcms["admin_email"]);
      } else {
          mail( $content["newsletter"]["email_address"], "newsletter verification to ".(($content["newsletter"]["email_name"]) ? 
		  $content["newsletter"]["email_name"] : $content["newsletter"]["email_address"]), $content["newsletter"]["mailtext"], 
		  "From:".$phpwcms["admin_email"]."");
      } 

Ansonsten schwimme ich auch ein wenig, das ich es zum einen nicht testen kann und zum anderen nicht reprodozieren kann. Wie schaut es mit einem php.log aus, das du hier posten kannst?

Cheers,
Florian
abm
Posts: 15
Joined: Mon 24. Nov 2003, 12:34
Location: Bern / Schweiz

Danke für Deine Tips

Post by abm »

Jetzt sieht es so aus.

WWW daemon apache <wwwrun@tux3.hoststar.ch>


Betreff:
newsletter verification to Martin

Weisst Du wo ich mit dem Confix das Log holen kann. Oder wo liegt dies normalerweise auf dem Server?
Florian
Posts: 119
Joined: Wed 19. Nov 2003, 16:50
Location: Hamburg
Contact:

Post by Florian »

puh, das kommt ganz auf das System / den Admin an. Wenn du Shell Zugriff hast, kannst du mit find / -name php.log nach der Datei suchen, sonst weiß ich nicht ich kenne mich mit Confixx nicht so aus...

Cheers,
Florian
Post Reply