vPostmaster

ovPostmaster is based on vPostmaster from tummy.com. The web interface to the vpostmaster virtual mail configuration is at http://www.openvest.com/vpostmaster

vPostmaster uses Postfix and Spamassassin and stores user information in a postgres database.

ovPostmaster has been extended here to use CRM114 for additional spam filtering and includes a patch to fix SPF Checking.

Webmail

Webmail is available via Squirrelmail. It is available with a /webmail address like http://www.openvest.com/webmail.

Logins to webmail is the same as for imap. Your username must include the domain as in

username = myname@openvest.com
  **not**
username = myname

Greylisting

It does use Greylisting to reduce spam.

To reduce the use of greylisting

spf
it allows email with a correct spf record to pass without greylist checking. **Implemented**
www.dnswl.org
http://www.dnswl.org/ provides a listing of servers what are known to respond with followup's to 450 messages. These will pass grelisting anyway so don't bother delaying the mail. **not imiplemented during smtp--used by spamassassin**

Pseudo Mail list

Not sure how well this works. It's been big time overkill using mailman for small (eg <20 members) lists. Let's just use forwarding here.

import psycopg2
db=psycopg2.connect("dbname='vpostmaster'")
c=db.cursor()
# find the id and list of forwards for this address
lname, domain = 'leadership@cfacolorado.org'.lower().split('@')
c.execute("select id,forwardto from users where name='%s' and domainsname='%s'" % (lname, domain))
lid, allf = c.fetchone()
# insert an evelope rule for each to accept mail
for f in allf.split():
    c.execute("insert into enveloperules(usersid,action,precedence,sender) values (%s,'accept',44,'%s')" % (lid, f))
# now add a lower precidence quarantine or reject message
c.execute("insert into enveloperules(usersid,action,precedence,recipient) values (%s,'quarantine',11,'%s@%s')" % (lid, lname, domain))
db.commit