E-Mail Benachrichtigung bei Antwort auf ein Thema
Verfasst: 10.01.2008 19:06
Hallo,
ich habe ein phpBB 2.0.22 mit einigen MODs.
Ich habe schon längere Zeit nichts mehr an dem Forum geändert (was MODs anbetrifft und eigentlich auch die Einstellungen), jedoch hat jetzt ein User berichtet, dass die E-Mail Benachrichtigung bei einer Antwort auf ein Thema nicht funktioniert.
Ich habe das dann selbst getestet und mal bei verschiedenenen Themen auf "Bei Antworten zu diesem Thema benachrichtigen" geklickt und ein Posting gemacht und es kommt wirklich keine E-Mail.
Auch bei einem neu erstellten Thema mit angehakter Option "Benachrichtigt mich, wenn eine Antwort geschrieben wurde" funktioniert es nicht.
Die Benachrichtigungs-Funktion bei neuen privaten Nachrichten funktioniert einwandfrei.
Die E-Mail zur Account-Aktivierung wird auch einwandfrei verschickt.
Im ACP ist "Benutzer E-Mails per Board" deaktiviert, was ja damit aber auch nichts zu tun hat. Daher ist auch "Nutze einen SMTP Server zum Mailen" nicht gesetzt.
Es kann und wird natürlich so sein, dass die Funktion einwandfrei funktioniert hat, bevor irgdeneiner der MODs hinzugekommen ist.
Ich bin daher die MOD-Liste durchgegangen und konnte mir hinsichtlich des Problems nur einen MOD vorstellen, der hier evtl. mit ins Spiel gebracht werden könnte.
Das wäre der "Easy Admin Topic Notifier" von StefanKausL in Version 1.0.4.
Diesen habe ich eingebaut und so erhält jeder Administrator bei jedem neuen Thema im Forum eine Benachrichtigungs-Mail.
Es wurde lediglich die functions_post.php bearbeitet (und die E-Mail.tpl hochgeladen):
Evtl. liegt es an dieser Veränderung...einfach eine originale function_posts.php habe ich jetzt noch nicht genommen, da ich nicht genau weiß, ob ich noch andere Veränderungen an der Datei vorgenommen hatte und so dann irgendetwas außer Funktion setze. 
Falls man es anhand des Codes natürlich nicht sagen kann, werde ich wohl nicht darum herumkommen.
Danke im Voraus.
ich habe ein phpBB 2.0.22 mit einigen MODs.
Ich habe schon längere Zeit nichts mehr an dem Forum geändert (was MODs anbetrifft und eigentlich auch die Einstellungen), jedoch hat jetzt ein User berichtet, dass die E-Mail Benachrichtigung bei einer Antwort auf ein Thema nicht funktioniert.
Ich habe das dann selbst getestet und mal bei verschiedenenen Themen auf "Bei Antworten zu diesem Thema benachrichtigen" geklickt und ein Posting gemacht und es kommt wirklich keine E-Mail.
Auch bei einem neu erstellten Thema mit angehakter Option "Benachrichtigt mich, wenn eine Antwort geschrieben wurde" funktioniert es nicht.
Die Benachrichtigungs-Funktion bei neuen privaten Nachrichten funktioniert einwandfrei.
Die E-Mail zur Account-Aktivierung wird auch einwandfrei verschickt.
Im ACP ist "Benutzer E-Mails per Board" deaktiviert, was ja damit aber auch nichts zu tun hat. Daher ist auch "Nutze einen SMTP Server zum Mailen" nicht gesetzt.
Es kann und wird natürlich so sein, dass die Funktion einwandfrei funktioniert hat, bevor irgdeneiner der MODs hinzugekommen ist.
Ich bin daher die MOD-Liste durchgegangen und konnte mir hinsichtlich des Problems nur einen MOD vorstellen, der hier evtl. mit ins Spiel gebracht werden könnte.
Das wäre der "Easy Admin Topic Notifier" von StefanKausL in Version 1.0.4.
Diesen habe ich eingebaut und so erhält jeder Administrator bei jedem neuen Thema im Forum eine Benachrichtigungs-Mail.
Es wurde lediglich die functions_post.php bearbeitet (und die E-Mail.tpl hochgeladen):
Code: Alles auswählen
#-----[ OPEN ]---------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]---------------------------------------------
#
$topic_id = $db->sql_nextid();
#
#-----[ AFTER, ADD ]---------------------------------------------
#
sk_send_mail_to_admins($topic_id, $post_subject);
#
#-----[ FIND ]---------------------------------------------
#
?>
#
#-----[ BEFORE, ADD ]------------------------------------------
#
function sk_send_mail_to_admins($topic_id, $post_subject) {
global $board_config, $lang, $db, $phpbb_root_path, $phpEx;
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path']));
$script_name = ($script_name != '') ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx;
$server_name = trim($board_config['server_name']);
$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) . '/' : '/';
$sql = "SELECT user_email, user_lang FROM " . USERS_TABLE . " WHERE user_level = " . ADMIN;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$emailer->email_address(trim($row['user_email']));
$emailer->use_template('easy_admin_topic_notifier', 'english'); // See Notes!
$emailer->from($board_config['board_email']);
$emailer->set_subject($lang['New_post']);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'TOPIC_TITLE' => $post_subject,
'U_TOPIC' => $server_protocol . $server_name . $server_port . $script_name . '?' . POST_TOPIC_URL . "=$topic_id",
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
);
$emailer->send();
$emailer->reset();
}
$db->sql_freeresult($result);
}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------

Falls man es anhand des Codes natürlich nicht sagen kann, werde ich wohl nicht darum herumkommen.
Danke im Voraus.