Seite 1 von 1

E-Mail-Benachrichtigung modifizieren

Verfasst: 22.06.2006 19:06
von aluisiuz
Hallo,
ich möchte die E-Mail-Benachrichtigung bei neuen Beiträgen ein wenig modifizieren und z.B. das neue Posting in die Nachricht einfügen. Welche Dateien sind dafür zuständig und wie bekomme ich das mit dem Einfügen des neuen Postings in die Email hin?

Gruß,
aluisiuz

Verfasst: 22.06.2006 19:38
von John the Ripper
Das reine E-Mail Template liegt in diesem Ordner:
language/lang_blabla/email/topic_notify.tpl

Um den neuesten Post hinzuzufügen musst du dort einen {}-Platzhalter einfügen. Dieser würde in der functions_post.php definiert werden, und zwar hier: (Der Text müsste vorher natürlich ausgelesen werden)

Code: Alles auswählen

						$emailer->assign_vars(array(
							'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '',
							'SITENAME' => $board_config['sitename'],
							'TOPIC_TITLE' => $topic_title, 

							'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_POST_URL . "=$post_id#$post_id",
							'U_STOP_WATCHING_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_TOPIC_URL . "=$topic_id&unwatch=topic")
						);

Verfasst: 22.06.2006 22:24
von aluisiuz
Danke! Ein Parameter mehr in user_notification und schon kann man die Nachricht in die Mail packen.

Wer's noch benötigt: Folgende regulären Ausdrücke konvertieren den BB-Code passend für eine E-Mail im Plain-Text-Format:

Code: Alles auswählen

$message = stripslashes($message);
$message = preg_replace('/\[b\:.*?\](.*?)\[\/b\:.*?\]/is', '*\\1*', $message);
$message = preg_replace('/\[i\:.*?\](.*?)\[\/i\:.*?\]/is', '_\\1_', $message);
$message = preg_replace('/\[img.*?\].*?\[\/img\:.*?\]/is', '[Bild]', $message);
$message = preg_replace('/\[url=(.*?)\i].*?\[\/url\]/is', '\\1', $message);
$message = preg_replace('/\[url\](.*?)\[\/url\]/is', '\\1', $message);
$message = preg_replace('/\[quote\:.*?="(.*?)"\](.*?)\[\/quote\:.*?\]/is', "\n--Zitat--\n\\1 schrieb: \n\n\\2\n---------- \n", $message);
$message = preg_replace('/\[quote\:.*?\](.*?)\[\/quote\:.*?\]/is', "\n--Zitat-- \n\\1\n--------- \n", $message);

Verfasst: 30.06.2006 13:16
von Dr.Death
Hallo,

ich möchte gerne Email Templates erstellen, die im HTML Format die Email versendet.

Was muss ich tun, damit die Mail im HTML Format und nicht im PLAIN Text Format versendet wird ?