Hi,
I have been using qmail-ldap for quite some time and now moved to postfix/dovecot. One feature that I miss is that provided by qmail-secretary. qmail-secretary basically is a mail list manager with following features:
1 no limit, just explode to all members 2 members only, as the name says; only members are allowed (based on envelope sender, so not very secure, everybody can fake that) 3 sender confirm, sender has to confirm submission and return address like DJBs qmail-secretary 4 moderated, moderator(s) have to accept every message; there are DN and RFC822 moderators
All configuration (name, members, moderated etc...) are taken from LDAP.
I had gone through the code and from what I understand for each 4 delivery types it works as follows:
Just deliver to all recipients (say, inject it via sendmail).
verify if envelope sender is in allowed list and proceed as above.
- create a random hash
- save the mail in new/ with hash as filename
- create a new mail with listname-confirm-hash@domain.com and send
- If that mail comes back, deliver the mail to all recipients.
- as above but using listname-approve-hash and list-name-reject-hash
- move the msg to cur/
- if appropriate reply comes retrieve the mail from cur/ and send to all recipient.
qmail-secretary is invoked by qmail-local and thus this is a nice candidate for a deliver plugin. Before I start coding I just want to check if there is any gotchas that I am missing? I assume all these operations can be performed as a deliver plugin and that deliver plugin is the correct place for such functionality.
It goes without saying that I would be contributing this plugin back to dovecot.
with regards,
raj