Horde&Imp login

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
r00ty
Posts: 747
Joined: 2003-03-17 15:32

Horde&Imp login

Post by r00ty » 2003-10-13 11:15

[update]
die Ã?nderungen für Horde/Imp um sich per Email einzuloggen in Verbindung mit confixx und die anpassung dass die Absender-Emailadressen von confixx übernommen werden findet man hier:
http://forum.webhostlist.de/show/showth ... ight=horde
[/update]

Hallo !

Ich hab mittlerweile ein Horde/Imp bei mir zum laufen gebracht.
Jetzt wäre es natürlich sehr komfortabel sich nicht mit dem Postfach (web2p7) einloggen zu müssen sondern die Emailadresse direkt eingeben zu können (asd@meinedomain.tld) [1und1 Suse 8.2 confixx]
Jemand ne Idee oder schon was umgesetzt ?

Danke....
Last edited by r00ty on 2005-12-29 14:43, edited 2 times in total.

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2003-10-13 12:54

Jemand ne Idee oder schon was umgesetzt ?
Ja.

meine neue 'confixx.inc' im /horde/imp Verzeichnis:

Code: Select all

<?
$zeile = explode("@",$imapuser);
if (count($zeile) > 1) {
mysql_connect('IPdesServersoderlocalhost', 'confixxuser','passwort' );
mysql_select_db('confixx');
$sql = 'SELECT pop3 FROM `email` WHERE prefix=''.$zeile[0].'' and domain=''.$zeile[1].'' LIMIT 0, 30';
$query = mysql_query($sql);
$result = mysql_fetch_row($query);
mysql_close();
$imapuser = $result[0];}
?>
Ã?nderung der mailbox.php3 [ca. Zeile 79]

Code: Select all

/* if this is a login, check for a language preference */
if (isset($actionID) && $actionID == IMP_LOGIN) {
require '/usr/share/horde/imp/confixx.inc';

        if (isset($IMAPServer)) {
Damit wird der Username aus der Confixx Datenbank ausgelesen, aber nur wenn eine Mailadresse angegeben wird.

Ich nutze eine Debian Version, dürfte sich aber auch auf neuere Versionen übertragen lassen.

Björn

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2003-10-14 08:48

hmm okay, das hört sich ja schonmal gut an...
soweit versteh ich es auch *freu*

nun die Frage nach
'confixxuser' und 'passwort'
ich bin mir da nicht sicher was da rein muss...
wo kann ich das nachschauen ? ist confixxuser richtig ? und welches Passwort ?

Code: Select all

Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'confixxuser@localhost' (Using password: YES) in /home/www/web16/html/horde/imp/confixx.inc on line 4

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2003-10-14 13:01

'confixxuser' und 'passwort'
ich bin mir da nicht sicher was da rein muss...
wo kann ich das nachschauen ? ist confixxuser richtig ? und welches Passwort ?
Schau mal in die /root/confixx/confixx_main.conf unter

Code: Select all

# dbs

$dbServer = 'localhost';
$dbUser = 
$dbPw =
Björn

crocodoc
RSAC
Posts: 30
Joined: 2002-10-07 14:29
Location: Rehau

Re: Horde&Imp login

Post by crocodoc » 2003-10-14 17:11

vratislav wrote: Ã?nderung der mailbox.php3 [ca. Zeile 79]

Code: Select all

/* if this is a login, check for a language preference */
if (isset($actionID) && $actionID == IMP_LOGIN) {
require '/usr/share/horde/imp/confixx.inc';

        if (isset($IMAPServer)) {
Hmmm, meine mailbox.php sieht gänzlich anders aus. Sie stammt aus IMP 3.1 (Vers. 2.296.2.38 ).

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2003-10-14 17:55

Hallo,

bei Debian ist IMP, Version 2.2.6 aktuell.

Es dürfte sich aber dennoch einbinden lassen. Schau mal auf der Login-Seite in den Quelltext, dann bekommst du die Variable raus, welche den Benutzernamen beinhaltet.

Diese muß dann beeinflusst werden. Bei 2.2.6 ist es $imapuser.

Björn

crocodoc
RSAC
Posts: 30
Joined: 2002-10-07 14:29
Location: Rehau

Re: Horde&Imp login

Post by crocodoc » 2003-10-14 18:10

@vratislav
Danke für den Tip, werd mal nachsehen...

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2003-10-14 20:49

okay, also hier die Infos für die aktuelle IMP Version (3.2.2):

im horde/ Verzeichnis eine confixx.inc anlegen

Code: Select all

<?$zeile = explode("@",$val);
if (count($zeile) > 1) {
mysql_connect("localhost", "confixx", "H I E R   M U S S   D A S   P W   H I N ");
mysql_select_db('confixx');
$sql = 'SELECT pop3 FROM `email` WHERE prefix=''.$zeile[0].'' and domain=''.$zeile[1].'' LIMIT 0, 30';
$query = mysql_query($sql);
$result = mysql_fetch_row($query);
mysql_close();
$val = $result[0];}?>
^-- aufpassen dass keine Leerzeichen / Zeilenumbrüche vor den PHP-Start- bzw. Endtags stehen

dann im horde/lib/ Verzeichnis die Datei Horde.php editieren:
die function getFormData muss angepasst werden, dass es funktioniert. Deshalb die ganze Funktion mit diesem Code ersetzen: (bei mir Zeile 663)

Code: Select all

    function getFormData($var, $default = null)
    {
        $val = Horde::getPost($var);
        if ($val == null) $val = Horde::getGet($var, $default);
        if ($var == 'imapuser')
                require  HORDE_BASE . '/confixx.inc';
        return $val;
    }
nun kann man sich sowohl mit Emailadressen als als auch mit Postfächern einloggen

[edit]
wichtiger Sicherheitshinweis (danke an 'fortblisstexas')
ein
chmod 600 confixx.inc
sichert das mysql passwort vor unerwünschtem Ausspähen
(zumindest bei suPhp)
oder packt das file in ein Verzeichnis das per .htaccess gesperrt ist
Last edited by r00ty on 2004-06-08 17:43, edited 2 times in total.

Anonymous

EMail Adresse / Server

Post by Anonymous » 2004-02-06 10:18

Hi..

Das mit der confixx.inc funktioniert ja super für den Login. Allerdings weiss ich immer noch nicht, wie ich IMP dann beibringe, pro Login-User auch die entsprechende eMail Adresse und Server-Name im "Vom" Feld anzeigen zu lassen.

Hat hierfür jemand schon eine Multi-Domain Lösung gebastelt? (Confixx-DB, SQL Abfrage?)

Tausend Dank im voraus!

Grüße,
Markus

Anonymous

Re: Horde&Imp login

Post by Anonymous » 2004-02-06 10:21

r00ty wrote: Ich hab mittlerweile ein Horde/Imp bei mir zum laufen gebracht.
Könntest Du dass uns nochmals in einem HowTo widerlegen, damit auch wir den Umgang und die Konfiguration mit IMAP, Horde und IMP lernen? :)

Anonymous

MySQL Abfrage

Post by Anonymous » 2004-02-06 13:58

Ich habe mir mal noch ein paar Gedanken gemacht.
Eigentlich müsste in der conf.php von IMP ja nur die Funktion mp_expand_fromaddress per SQL Abfrage aus der Confixx Datenbank erfolgen, oder?

Leider bin ich in SQL nicht ganz so bewandert ;-) Anybody tips?

Ziel sollte sein, dass wenn man sich per webxpx oder per Mailadresse einloggt, alle Identitäten (sprich Mailadressen) angezeigt werden, die diesem Pop3-Postfach zugeordnet sind.

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2004-05-19 16:12

^^^ hat nicht jemand mal Lust das zu coden ?
wäre wirklich praktisch wenn automatisch die Identitäten aus confixx übernommen würde.....

ich würde mcih dann auch bereiterklären ein installations-howto zu schreiben :)

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2004-05-22 19:17

Hallo,

folgende Funktion um IMP dazu zu bewegen eine gültige Adresse des User auszuwählen. Leider ist IMP nicht in der Lage mehrere Adressen darzustellen und als Identitäten zu verwalten. Aus externen Quellen kann nur eine Adresse herangezogen werden, sonst werden Sie alle in eine Reihe geschrieben. Immerhin - so gibt es erstmal eine gültige Adresse und viele haben ja auch nur diese.

User mit mehreren Adressen müssen sich Identitäten in IMP direkt einrichten.

Ich habe wieder eine eigene Datei daraus gemacht, finde ich praktischer bei Versionsänderungen.

Datei confixx2.inc:

Code: Select all

<?
if (!function_exists('imp_expand_fromaddress')) {
     function imp_expand_fromaddress ($imp) {
         if ($imp['server'] != 'localhost') {
             return $imp['user'];
         }
        $dbserver = 'localhost'; $dbuser = 'confixx'; $passw = 'geheim';
        $link = mysql_connect($dbserver,$dbuser,$passw );
        mysql_select_db('confixx');
        $query_from = "SELECT prefix,domain FROM email WHERE pop3 = '".$imp['user']."'";
        $result = mysql_query($query_from);
//      while ($row = mysql_fetch_array($result)) { //mit mehreren Adressen kann horde/imp nicht umgehen
        $row = mysql_fetch_array($result);
        if ($row[0] == "*") {
        $from_email = "catchall@".$row[1];
        } else {
        $from_email = $row[0]."@".$row[1]; }
        $name=$from_email;// } //hier fehlt noch ein punkt
        mysql_free_result($result);
       return (empty($name) ? $imp['user'] : $name);
     }
}
?>
Dann noch dies :

Code: Select all

include ('/usr/share/horde2/confixx2.inc');
$conf['hooks']['from'] = 'imp_expand_fromaddress';
in die IMP conf.php einfügen beziehungsweise anpassen.

Björn

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2004-05-22 21:20

okay, danke für den code....
sehe ich das richtig dass der code den from der Identität überschreibt ? egel welche Identität gewält wird ?

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2004-05-23 10:03

sehe ich das richtig dass der code den from der Identität überschreibt ? egel welche Identität gewält wird ?
Nein. In meiner IMP Version ist es so, daß die function nur ausgeführt wird, wenn keine Identität angelegt wurde.

Björn

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2004-05-26 15:34

Ich bin es noch einmal. Ich habe noch eine Lösung fürs ältere IMP entwickelt, welche eine Einbindung aller E-Mailadressen aus Confixx ermöglicht. Der User kann dann auswählen, welche er möchte. Zudem kann er eine Identität in IMP festlegen.

Datei confixx3.inc:

Code: Select all

<?
     function ip_expand_fromaddress ($imp) {
         if ($imp->server != 'localhost') {
             return $imp->user;
         }
        $name = '<select name="from" tabindex="1">';
        if (strpos ($imp->from, "localhost") === false) $name.="<option value=".htmlspecialchars($imp->from).">".htmlspecialchars($imp->from)."</option>";
        $dbserver = 'dbserver'; $dbuser = 'confixx'; $passw = 'geheim';
        $link = mysql_connect($dbserver,$dbuser,$passw );
        mysql_select_db('confixx');
        $query_from = "SELECT prefix,domain FROM email WHERE pop3 = '".$imp->user."'";
        $result = mysql_query($query_from);
        while ($row = mysql_fetch_array($result)) { 
        if ($row[0] == "*") {
        $from_email = "catchall@".$row[1];
        } else {
        $from_email = $row[0]."@".$row[1]; }
        $name.="<option value=$from_email>$from_email</option>";
         }
        $name.="</select>";
        mysql_free_result($result);
       return (empty($name) ? $imp->user : $name);
     }
?>
Einbinden in Datei (bei mir DEBIAN) : /usr/share/horde/imp/templates/compose/compose.inc;
Diesen Teil suchen / austauschen (etwa Zeile 61):

Code: Select all

<?php if ($default->user_change_from): ?>
<tr>
  <td align="right" bgcolor="<?php echo $default->light_bg; ?>"><?php $default->text_on_light->start(); ?><?php echo $lang->f
rom_string ?></font></td>
  <td bgcolor="<?php echo $default->item_bg ?>">
 <?php
       include ('/usr/share/horde/imp/confixx3.inc');
       $imp->from = $from;
       echo ip_expand_fromaddress($imp);?></td>
  <td align="right"><?php $help->link(COMPOSE_HELP_FROM, $help_file, 'imp') ?></td>
</tr>
<?php endif; ?>
Gruß,

Björn

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2004-05-27 00:09

hey vielen Dank
aber ich erlaube mir eine kleine Aussage

DARAUF HAT DIE WELT SCHON LANGE GEWARTET

also plz das nächste mal gleich posten wenn man so was feines entwickelt :)

Thx a lot

webs
Posts: 16
Joined: 2004-05-28 14:26

Re: Horde&Imp login

Post by webs » 2004-05-28 16:16

Hallo Jungs,

ich habe diese confixx2.inc bei mir im imp/config abgelegt und die conf.php entsprechend geändert. Bei mir meckert IMP immer noch dass es falsches Nick ist und es geht nur mit web1p1919 oder so...

Kann mir jemand sagen woran es evtl noch liegen könnte?

ich danke euch!
roman

PS: suse9,confixx 3, imp 3.2.3, horde 2.2.5

webs
Posts: 16
Joined: 2004-05-28 14:26

Re: Horde&Imp login

Post by webs » 2004-05-28 18:05

hat sich erledigt!
habe nur conixx2.inc im IMP verzeichnis eingerichtet und die conixx.inc für horde vergessen :oops:

thx
Roman

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2004-06-08 17:40

wichtiger Sicherheitshinweis (danke an 'fortblisstexas')
ein
chmod 600 confixx.inc
sichert das mysql passwort vor unerwünschtem Ausspähen
(zumindest bei suPhp)
oder packt das file in ein Verzeichnis das per .htaccess gesperrt ist

webs
Posts: 16
Joined: 2004-05-28 14:26

Re: Horde&Imp login

Post by webs » 2004-06-09 01:44

@r00ty

hmm, mein Nick ist eigetlich "webs" und nicht "fortblisstexas" ...

also bei mir kann Horde nach einem chmod 600 nicht mehr auf die Datei zugreifen..

mfg
Roman

r00ty
Posts: 747
Joined: 2003-03-17 15:32

Re: Horde&Imp login

Post by r00ty » 2004-06-10 09:56

bei mir schon
check mal ob wirklich die Pfade oder der Besitzer stimmen

vratislav
Posts: 118
Joined: 2002-05-05 12:05

Re: Horde&Imp login

Post by vratislav » 2004-06-10 13:44

Man kann auch einfach die confixxX.inc in confixxX.inc.php umbenennen. Dann wird auch nicht mehr der Inhalt angezeigt.
Man muß dann nur noch das include anpassen.

Björn

falc410
Posts: 20
Joined: 2004-05-19 11:51

Re: Horde&Imp login

Post by falc410 » 2004-06-11 12:37

Danke für die Scripte.

Hat es jemand geschafft das Passwd Horde Scripts anzupassen das es über SQL funktioniert? Müsste doch thereotisch möglich sein oder?
Ich habe im poplogin von Confixx geschaut, dort kann man ja das PW ändern. Es sieht für mich so aus wie wenn das in der SQL DB geändert wird und das Updatescripts überträgt es dann in die passwd, korrekt?

Wie habt ihr das gelöst? Den Usern noch den Alternativ Link zum poplogin geben?

Funktionieren die Horde Module für Vacation Message denn oder geht das auch nur über poplogin ?

goebelmeier
Posts: 12
Joined: 2004-05-31 19:21
Location: Bremen

Re: Horde&Imp login

Post by goebelmeier » 2004-12-15 14:57

Hallo,

mich beschäftigt das Thema gerade auch sehr und ich wäre interessiert daran, die Kombination Horde IMP & Confixx zu perfektionieren. Würde sich neben mir jemand dafür interessieren, dass wir Patches für die jetzige und kommende IMP Versionen erstellen und die auf SourceForge o.ä. als OpenSource-Projekt pflegen? Bei Bedarf Mail an t.heissenbuettel@arcor.de oder hier im Forum, da mein MX durch eine Serverumstellung gerade vom Netz ist.