14.10.2011, 23:53
Moin!
Ich war die letzten Wochen nicht ganz untätig und habe ein Plugin geschrieben, das MyBB um eine echte Mailinglistenfunktionalität erweitert. D.h. Beiträge im Forum werden per Mail zugestellt. Wenn man auf die Mail antwortet, wird die Antwort ins Forum gestellt.
Aus Faulheit nutze ich zum Bestellen und Abbestellen der Mailinglisten die Tabellen mit den Abonnement-Einstellungen. Jetzt muss ich aber natürlich irgendwie verhindern, dass bei neuen Threads eine Mail an den User erstellt wird. Dazu habe ich die folgende Funktionalität verwendet:
Das scheint aber nur teilweise zu funktionieren. Gibt es eine zuverlässigere Methode?
Michael
Ich war die letzten Wochen nicht ganz untätig und habe ein Plugin geschrieben, das MyBB um eine echte Mailinglistenfunktionalität erweitert. D.h. Beiträge im Forum werden per Mail zugestellt. Wenn man auf die Mail antwortet, wird die Antwort ins Forum gestellt.
Aus Faulheit nutze ich zum Bestellen und Abbestellen der Mailinglisten die Tabellen mit den Abonnement-Einstellungen. Jetzt muss ich aber natürlich irgendwie verhindern, dass bei neuen Threads eine Mail an den User erstellt wird. Dazu habe ich die folgende Funktionalität verwendet:
PHP-Code:
$plugins->add_hook('send_mail_queue_mail', 'syncom_send_mail_queue_mail');
function syncom_send_mail_queue_mail($query)
{
global $db;
$subuser = array();
$query2 = $db->simple_select("users", "uid, email", "syncom_mailinglist");
while ($user = $db->fetch_array($query2))
$subuser[$user["uid"]] =$user["email"];
while($email = $db->fetch_array($query)) {
// Delete the message from the queue
if (in_array($email['mailto'], $subuser) and ($email['mailfrom'] == ''))
$db->delete_query("mailqueue", "mid='{$email['mid']}'");
}
}
Das scheint aber nur teilweise zu funktionieren. Gibt es eine zuverlässigere Methode?
Michael