John Simpson wrote:
first, where can i download the code?
The only place I know of is cvs on SourceForge.
second, is there an official spec for the protocol? the wiki shows "\n \r" as the line endings for client->server commands, but "<crlf>" as the line endings for server->client responses... hopefully this is just a typo and the line endings for client commands are actually \r \n, since that's what a standard "telnet" command sends when the user hits ENTER and would allow for users to manually telnet to a vpopmaild service and issue commands to test.
I don't recall exactly how, but since it works from telnet I'd bet on the typo.
third, hopefully this is a separate program from vpopmail itself, and uses the standard API for libvpopmail. this will allow people (like myself) who are interested in getting vpopmaild working to do so without having to wait for the rest of vpopmail, and allow the vpopmail core developers to not have to worry about vpopmaild at the same time they're worrying about everything else. as long as the API doesn't change, vpopmaild can be (and IMHO should be) a separate program.
Not sure what you mean by separate program. vadddomain, vadduser, vdeluser and vmoduser are all separate programs, but there isn't much reason to compile them separately. Same with vpopmaild. The "standard API" isn't all that standard. There are functions available in some back-ends that don't exist in others. At least one set of optional functions are defined in mysql.c and pgsql.c but have their own file when you select cdb authentication. Some say it would be nice to have a static libvpopmail, but currently if the ./configure options aren't exactly the same between the library and the programs things are quite likely to break. Why bother if you have to compile both sides anyway?
and a suggestion: how about adding a "exists [EMAIL PROTECTED]" command, which would check whether the address is "deliverable" (meaning it exists as a mailbox, an alias, a ".qmail- mailbox" file in the domain's directory, or the domain has a ".qmail- default" file which doesn't contain "bounce-no-mailbox") and return a yes/no answer of some kind... and that one command would not require a valid login to use.
I like the idea of the exists command, but not the idea of no login. You should create a user like [EMAIL PROTECTED] that can look at all domains and login as that user to test an address.
i actually found vpopmaild.c and a "README.vpopmaild" file which "sorta" documents the protocol, in the vpopmail CVS area. my
I'm pretty sure that's the best you will find. Have you seen pmailadmin? http://pmailadmin.sourceforge.net/ It hasn't been updated in a while, but you might find some new information in the documentation of the
problem is that i haven't spent a lot of time dealing with vpopmail's internal data structures, and to be honest their variable naming scheme (i.e. "TheDomain", "ThePassword", etc.) just feels too microsoft-ish" for me. i know it's legal and it works, it just leaves me feeling like i need to wash my hands after i look at it...
Don't worry, that's not the only convention you'll find in there... There have been several authors with different styles.