vm-pop3d (mail/vm-pop3d) Add to my watchlist

POP3 server for Postfix that supports virtual domains and mailboxes

A POP3 server that supports virtual domains and virtual mailboxes such that users and mailboxes need not be associated with local Unix accounts.

Version: 1.1.6 License: GPL-2 GitHub
Maintainers No Maintainer
Categories mail
Homepage http://www.reedmedia.net/software/virtualmail-pop3d/
Platforms darwin
Variants
  • universal (Build for multiple architectures)

"vm-pop3d" depends on

lib (1)
build (1)

Ports that depend on "vm-pop3d"

No ports


Port notes

#### To set up vm-pop3d with Postfix ####

Notice: The paths to files used by vm-pop3d are hard coded at compile time so
if you deviate from the paths described below vm-pop3d will not work.

1) Set up Postfix (if first-time setup) and create spool directories
for your vm-pop3d virtual domains.

cd ${prefix}/etc/postfix
sudo cp master.cf.sample master.cf
sudo cp main.cf.sample main.cf

sudo mkdir ${prefix}/var/vm-pop3d/spool/my-vdomain1.com
sudo chown postfix:postfix ${prefix}/var/vm-pop3d/spool/my-vdomain1.com
sudo chmod 775 ${prefix}/var/vm-pop3d/spool/my-vdomain1.com

2) Configure Postfix for virtual mailboxes

Add to main.cf

virtual_mailbox_base = ${prefix}/var/vm-pop3d/spool
virtual_mailbox_maps = hash:${prefix}/etc/vm-pop3d/vmailbox_maps
virtual_mailbox_domains = hash:${prefix}/etc/vm-pop3d/vdomain_maps
virtual_uid_maps = static:<postfix user's uid>
virtual_gid_maps = static:<postfix user's gid>
virtual_mailbox_lock = dotlock
virtual_minimum_uid = <postfix user's uid>

NOTE: Do NOT include the virtual domain name in main.cf's $mydestination
or Postfix will reject mail to this domain since local (Unix) accounts
for virtual domains do not exist.

3) Create virtual mailbox lookup tables

sudo touch ${prefix}/etc/vm-pop3d/vdomain_maps (contents below)

my-vdomain1.com placeholder (any text)
my-vdomain2.com placeholder

sudo touch ${prefix}/etc/vm-pop3d/vmailbox_maps (contents below)

user1@my-vdomain1.com my-vdomain1.com/user1
user2@my-vdomain1.com my-vdomain1.com/user2

sudo postmap ${prefix}/etc/vm-pop3d/vdomain_maps (make .db hash files)
sudo postmap ${prefix}/etc/vm-pop3d/vmailbox_maps

4) Restart Postfix and test SMTP message delivery to virtual domains

sudo postfix reload

Now send an email to an account in a virtual domain; look here to see if
messages are arriving:

ls ${prefix}/var/vm-pop3d/spool/my-vdomainx.com for messages.

Check the error logs for either delivery errors or (after next step)
POP errors:

tail /var/log/mail.log

5) Create virtual domain passwd files, substituting real domain names for my-vdomain

cd ${prefix}/etc/vm-pop3d
sudo mkdir my-vdomain1.com
cd my-vdomain1.com
sudo htpasswd -c passwd user1 (-c creates the file 'passwd' to hold the 1st vdomain1 user)
sudo htpasswd passwd user2 (don't need -c for subsequent users of the vdomain1)

6) Set vm-pop3d to launch at startup with launchctl, start it, and test POP access to virtual domains with telnet

Run launchctl so Nagios will start at system boot:
sudo launchctl load -w /Library/LaunchDaemons/org.macports.vm-pop3d.plist

Start vm-pop3d manually:
sudo ${prefix}/share/vm-pop3d/vm-pop3d.init start (stop|status)

telnet localhost 110 (response ->) +OK POP3 Welcome to vm-pop3d 1.x.x
USER <user@domain>
PASS <password>
LIST (to see messages)
RETR 1 (to view message #1)

Documentation is in ${prefix}/share/doc/vm-pop3d


Port Health:

Loading Port Health

Installations (30 days)

1

Requested Installations (30 days)

1