I have similar requirements. I am still in the testing phase and haven’t deployed my solution, but I am using MimeDefang to verify that messages are addressed properly and have proper content. The MimeDefang script changes all messages to be delivered to an inbox DBMail account (sort of queueing the incoming messages). I then have a PHP cron job that checks for new messages in the inbox queue using RoundCube IMAP framework. This PHP script uses on IMAP to fetch the queued incoming messages and further processes the messages before using dbmail-deliver to send the processed messages on to the real recipients.
My PHP script actually updates a database (separate from DBMail) with data about each message that is finally delivered (so this information can be queried when new messages comes in and influence the processing of the current message). Anyway, this approach of Postfix/MimeDefang/RoundCube PHP script/DBMail is pretty easy to set up and doesn’t depend on DBMail much (I started by using Dovecot as my message store). Also, MimeDefang controls the virus/spam scanning, which is easy to configure for a complete mail solution. Kevin On Apr 24, 2014, at 9:05 AM, Mark Winslow <furf...@omnicode.com> wrote: > I think Mimedefang would be the Milter approach. It's probably the easiest > thing to do. You'll need to look into Perl's Mysql libraries to dump into > the database. I think there's a way to configure Sendmail or Postfix so it > doesn't deliver mail, so you're not duplicating messages. > > > On 4/23/2014 5:41 PM, Jeffrey Starin wrote: >> These all sound like great ideas. I've also been looking into mimedefang. >> >> >> >> On 04/23/2014 06:49 PM, Mark Winslow wrote: >>> I was thinking that maybe you have an app that decides how to send messages >>> to your server. If you're exposing an email address, then clearly you need >>> to have an smtp server, which is probably going to be Postfix. >>> >>> There was a suggestion to just have the server dump into user Maildirs. >>> It's probably the easiest thing. Bear in mind, though, that user >>> management for Maildir setups can be quite complex if you have a lot of >>> users. >>> >>> If you want to use a database, there are least 3 methods. >>> >>> 1. Use DBMail through IMAP/API. I'm still not sure if there's an >>> api/protocol that will allow you to query/manipulate at a global/root level. >>> >>> 2. Use DBMail directly through SQL. It's been discouraged here, so at the >>> very least you're not going to get any help doing it. >>> >>> 3. Implement LMTP yourself or else use a Milter to store you messages. >>> I've seen simple examples of LMTP code around. Milters are easier to >>> implement, but not as clean doing it through LMTP. >>> >>> >>> > > _______________________________________________ > DBmail mailing list > DBmail@dbmail.org > http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail _______________________________________________ DBmail mailing list DBmail@dbmail.org http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail