NOTE: Many quotes are from the wiki.
I've included sections on feature requests, and "bugs" that I came
across (bugs _may_ be defined as features I do not understand how to use).
add/del/list alias -- added
add/del/list forwards -- forwards are obsolete. Use an alias instead.
get_lastauth replaced by user_info -- This change does not match the
underlying structure of vpopmail. As I see it the daemon is supposed to
make the api available via a service, not re-define it. This probably
won't happen within the daemon unless vpopmail changes. I do the
re-mapping at the vpopmail_util level.
stat_dir that computes usage for a maildir. -- Good idea, If someone
can show me a way that will work on all systems I'll add it. Again
don't expect the behavior of user_info to change.
1. add_domain leaves reminants if password bad. -- fixed If the user
add fails, it calls vdeldomain.
2. invalid command rename_file. -- fixed Added the command.
3. invalid command stat_file. -- fixed Bill Shupp added this one.
4. alias wierdness. -- fixed mostly. I have seen a segfault when
managing aliases, but I can't reproduce it on demand.
5. no_pop is not a valid domain_limits option. -- fixed Not it gives a
warning. you will
6. get_lastauth needs termination code. -- fixed
The updates I made are geared towards a programmer attempting to
implement a GUI replacement for qmailadmin, centered around vpopmaild.
Some things you missed...
compact mode. When you login you can add compact to the login string
and all bitmap values will be sent as a number instead of being expanded
into one line per bit. This speeds up transferring a typical user list
by quite a bit. I've added a note about this in the wiki.
I have an object that handles all the low level access to vpopmaild, and
the beginning of another package that manages common email actons
available on SourceForge. I've added a link in the wiki.
* Also note you must send the fully qualified path. Tilde $HOME
> shortcut, and symlink targets don't work.
i.e. ln -s /usr/local/vpopmail/domains /domains and then send
> "list_dir /domains" won't work.
Those don't work, but these do:
list_dir [EMAIL PROTECTED]/
list_dir [EMAIL PROTECTED]/Maildir/new/
You may have missed them because they fail without the trailing /. The
last two appear equivalent on small installations, but only the first
will work if there are enough users for vpopmail to start hashing
Remember cdb aliases, mail robots and mailing lists are stored in the
example.com/ directory. Use the [EMAIL PROTECTED] form to access
individual mail addresses.
You can also specify a file:
These examples will work even if there are enough users or domains to
cause multiple hash directories to be created. I strongly suggest using
this method for all file access. I also hope to add alias handling for
all backends, mail robot and mailing list support so you don't have to
use this kind of low level access most of the time.
* Not really sure how useful this is...
* Someone tell me what the page # is, I guess I don't have enough
> domains added to this test box right now to see it in action.
* alias.com is an alias domain I added earlier, and it's page # is
> zero, but the real domain that corresponds to it is page1...
Page and per-page are used for breaking up a long list of domains or
users. The per-page variable should not be optional in find_domain.
You should pick a value for per-page and stick to it in all calls. Say
you have 18 domains, 001 to 018 and you are using per-page = 5. The
domains would appear like this:
page 1 page 2 page 3 page 4
001 006 011 016
002 007 012 017
003 008 013 018
004 009 014
005 010 015
If you do list_domains 2 5 -- domains 006 through 101 are returned.
if you do find_domain 013 -- page 3 is returned.
vpopmail maintains the users or domains in sorted order, and can return
a single page.
List_users has page and per-page parameters that work the same way as
domains. There is now a blank line between users. Compact mode makes
the user list much smaller!
get_lastauth [EMAIL PROTECTED]<crlf>
The terminating character bug has been fixed. Note that this only
counts pop and imap logins. It does not count qmailadmin or vpopmaild
logins. I'm not sure if it counts smtp auth logins, but it probably
could do that easier than getting the ip of a courier imap connection.