So einfach funktioniert das nicht. Das Forum verschickt die Mails an die User nicht separat sondern alle auf einmal per BCC. D.h. alle User bekommen eine Kopie der gleichen Mail. Daraus resultiert schon das erste Problem, denn wenn alle die gleiche Mail bekommen, wessen Username sollte dann in der Mail stehen? Also müsste man zunächst einmal das System so umbauen, dass die Mails separat verschickt werden. Dann müsste man außerdem dem Emailer noch mitteilen, dass er den Platzhalter {USERNAME} durch den jeweilgen Namen zu ersetzen hat, diesen müsste man auch erst einmal aus der Datenbank holen...
Machbar wäre das, allerdings erhöht der Personalisierte Versand den Zeitbedarf für den Versand erheblich. Wenn jede Mail einzeln verschickt werden muss anstatt sie alle auf einmal zu versenden dann bedeutet das einen deutlichen zeitlichen Mehraufwand (zumindest nach meinen Erfahrungen mit einem anderen Mailersystem je nach Anzahl der Empfänger durchaus im ein bis mehrstelligen Sekundenbereich). Bei einem kleinen Board geht das evtl. auch noch, aber spätestens wenn man an ein Thema gerät das vielleicht dann doch mal einige User abboniert haben könnte das ganze an seine Grenzen stoßen.
Das heißt natürlich nicht dass es völlig unmöglich ist.
Falls du vielleicht selbst mal probieren möchtest solltest du einen Blick in die functions_post.php Datei im includes Ordner werfen, speziell diese Stelle:
Code: Alles auswählen
while (list($user_lang, $bcc_list) = each($bcc_list_ary))
{
$emailer->use_template('topic_notify', $user_lang);
for ($i = 0; $i < count($bcc_list); $i++)
{
$emailer->bcc($bcc_list[$i]);
}
// The Topic_reply_notification lang string below will be used
// if for some reason the mail template subject cannot be read
// ... note it will not necessarily be in the posters own language!
$emailer->set_subject($lang['Topic_reply_notification']);
// This is a nasty kludge to remove the username var ... till (if?)
// translators update their templates
$emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg);
$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")
);
$emailer->send();
$emailer->reset();
}
Ein paar Umbauten hier und ein paar Zeilen darüber sollten es ermöglichen können dass jeder User seine eigene Mail bekommt und damit eine Personalisierung möglich ist.