[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dbmail



Wrote Mark Devin:

> Anyone have experience in setting up dbmail on a debian system?
> 
> I am after a solution that provides imap, pop3, and web based mail
> access using postfix as the MTA.  Can anyone speak from experience
> regarding performance, scalability, reliability and ease of setting up
> of dbmail?
> 
> Regards.
> Mark.

I've test-implemented DBMail on Debian with Sendmail, but not PostFix
or in a production environment (yet).  Here's some of my notes,
though.

The POP/IMAP are very nice and fast.  The SQL schema is simple and
scalability.  The command administration tools are simple, to the
point that you could bypass them with your direct DB manipulation.

My only pieve, though, was the delivery agent: dbmail-smtp.

1) It was not be as well documented as I think it should be for
   integration with an incoming MTA.  An option existed to specify the
   mailbox by its POP/IMAP username, but it wasn't documented.  The
   documented approach only used the email-alias for delivery, but IMO,
   it should be the MTA's role (not DBMail's) to determine what email
   addresses are valid for the mailbox.  Not knowing this information
   kept me confused for days.

2) It didn't give back error codes that say something was wrong, like
   the mail user didn't exist, or quota exceeded.  I had to write my
   own modified copy that would give appropriate errors back to
   Sendmail. After that, it seemed to run like a well-behaved delivery
   agent should.  Some day I might re-implement it with LMTP instead
   of Sendmail return codes, and distribute it back to the developer.

3) A side effect of not using /etc/passwd (or LDAP) as the source of
   user information is that Sendmail is somewhat blind about whether a
   given user exists or not, and has to attempt delivery to find out.
   That's not a good thing if you want an efficient mail system, so
   I resolved it by listing all the users in /etc/mail/virtusertable.
   I plugged up all the @domain catch-all lines with a 550 error,
   which allows Sendmail to immediately reject emails to unknown
   users.

With the rewritten delivery agent, and Sendmail using virtusertable
(sourced from MySQL using a perl script), I got it working the way I
wanted it to.

I looked at DBMail as a possible mail store for a new small web-
hosting company, and might actually use it.  I haven't come close to a
real decision, though, and more well-used solutions like QMail or even
traditional Sendmail are an option.

Someone has created a Debian package for DBMail, but it didn't seem to
be integrated into Debian the way I thought it should be.  I don't
remember why though, and I've since decided to stay with the upstream
source distribution since I have my own injector changes.

      -Daniel

-- 
Daniel Brown <djb@unixan.com>



Reply to: