Hi Gurus and everybody who is using qmail with VMAILMGR and Courier-IMAP! After several tests we've found the problem and solved it!
No, it's not Outlook or anything else: It's the authvmailmgr-module from vmailmgr. So, if you want to log the user of a virtual domain who is using courier-imap here's how to handle this: The authentication-module of vmailmgr sends the "virtual name" of the domain only! The solution: Set an ENV with a name where no prog is using this ENV, except the (modified) imapd from courier-imap: look at "authvlib.cc" from the source of vmailmgr: [...] if(!lookup_baseuser(fulluser, basepw, virtname)) fail_login("Invalid or unknown base user or domain"); presetenv("VUSER=", virtname); /* the following line must be added! The ENV-Name can be different, but notice to change this in the imapd.c too! */ presetenv("FULL_USER=", fulluser); if(!virtname) { if(virtual_only) [...] Notice: We add the ENV "FULL_USER" to the code so that the full functionality of vmailmgr for qmail will be untouched! Then make it with: make and copy the program authvmailmgr to the auth-dir of courier-imap where your original authvmailmgr resides. Go to the source of courier-imap and look into the path imap for imapd.c. Open the file and look for: [...] writes("* BYE Courier-IMAP server shutting down\r\n"); writes(tag); writes(" OK LOGOUT completed\r\n"); writeflush(); emptytrash(); /* Original: getenv("AUTHENTICATED") NOW: getenv("FULL_USER") */ fprintf(stderr, "INFO: LOGOUT, USER=%s, ip=[%s]," " headers=%lu, body=%lu\n", getenv("FULL_USER"), getenv("TCPREMOTEIP"), header_count, body_count); exit(0); } if (strcmp(curtoken->tokenbuf, "LIST") == 0 [...] Now we put the "FULL_USER"-ENV instead of "AUTHENTICATED"-ENV, because according to vmailmgr the variable "fulluser" contains the domain and the virtual user! Next step: STOP imap (& imap-ssl if your using) make make install (or copy the imapd to /usr/lib/courier-imap/bin or whereever your imap-path is) After you've overwritten the original imapd-prog: start it again and log into your mailbox via imap and logout. Look in the maillog (/var/log/maillog) and you should see something like: INFO: LOGOUT, USER=domain.com-test, ip=[xxx.xxx.xxx.xxx], headers=0, body=0 Now you have the "alternative" Login from the user: Login: [EMAIL PROTECTED] -> Becomes: domain.com-test Login: domain.com-test -> Besomes: domain.com-test I was surprised why NOBODY is interested to get the size of a virtual user who is getting mails via imap over vmailmgr-auth!!!! Any ideas? milli ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Caffeinated soap. No kidding. http://thinkgeek.com/sf _______________________________________________ courier-users mailing list [EMAIL PROTECTED] Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users