Horde Absenderadressen aus Confixx auslesen
Der Horde Framework bzw. Horde/IMP ist ein sehr mächtiger Webmailer. Standardmäßig können Benutzer in den persönlichen Einstellungen eine beliebige Absenderadressen für ihre eMails einstellen. Das ist in einer Shared-Hosting Umgebung natürlich nicht sinnvoll. Jedoch kann man bei Horde für fast alle Einstellungen und Optionen sogenannte Hooks einstellen die die entsprechenden Felder ausfüllen. In diesem Fall soll die Absenderadresse aus der Confixxdatenbank anhand des POP3/IMAP Kontos gehohlt werden.
Eine funktionsfähige Horde/IMP Installation setzte ich mal Vorraus. Die Anleitung bezieht sich auf Horde 3.1.4 und IMP 4.1.4.
Zuerst wird folgende Funktion in die Datei horde/hooks.php eingefügt:
if (!function_exists('_prefs_hook_from_addr')) { function _prefs_hook_from_addr($user = null) { // Confixx Datenbank Passwort ändern $dbserver = 'localhost'; $dbuser = 'confixx'; $passw = 'ABCDE'; $link = mysql_connect($dbserver,$dbuser,$passw); mysql_select_db('confixx'); $query_from = "SELECT prefix,domain FROM email_forward INNER JOIN email on email_forward.email_ident = email.ident WHERE `pop3` = '".$user."'"; $row = mysql_fetch_array(mysql_query($query_from)); if ($row[0] == "*") {$from_email = "catchall@".$row[1];} else {$from_email = $row[0]."@".$row[1];} if ($row[0] == "") $from_email = "mail-admin@".$row[1]; mysql_free_result($result); mysql_close(); return (empty($from_email) ? $user : $from_email); } }
Jetzt muss der Hook noch aktiviert werden. Dazu muss in der Datei horde/prefs.php der Block für from_addr so aussehen:
$_prefs['from_addr'] = array( 'value' => '', 'locked' => true, 'shared' => true, 'type' => 'text', 'hook' => true, 'desc' => _("Your From: address:") );
Damit wird der Hook aktiviert (‘hook’ => true) und die Veränderung der Variable verhindert (‘locked’ => true).
Viel Spaß
jetzt kommentieren? So, 23. Sep 2007 um 16:15 Uhr Christian