qmail バーチャルドメイン vpopmail インストール

この章を始める前に下記の設定が必要です
「qmail tcpserver daemontools インストール」 「qmail Courier-Authlib Courier-IMAP インストール」 「qmail Courier-IMAP POP/IMAP over SSL」 「qmail Qmail-Scanner SpamAssassin インストール」
vpopmailインストール
[root@freebsd daemontools]# cd /usr/ports/mail/vpopmail
[root@freebsd vpopmail]# make deinstall
[root@freebsd vpopmail]# make BATCH=yes WITH_CLEAR_PASSWD=yes install clean
[root@freebsd vpopmail]# rehash
[root@freebsd vpopmail]# cd
vpopmail設定
[root@freebsd ~]# cp /etc/tcp.smtp* /usr/local/vpopmail/etc/
[root@freebsd ~]# chmod 644 /usr/local/vpopmail/etc/vlimits.default
[root@freebsd ~]# vi /usr/local/vpopmail/etc/vlimits.default
#default_quota		10485760
↓
default_quota		10485760 ←コメント解除

#default_maxmsgcount	1000
↓
default_maxmsgcount	1000 ←コメント解除
[root@freebsd ~]# vi /etc/crontab
↓最終行に下記を記入
20	*	*	*	*	root	/usr/local/vpopmail/bin/clearopensmtp > /dev/null 2>&1
ドメイン登録
[root@freebsd ~]# /usr/local/vpopmail/bin/vadddomain freebsd.orz
Please enter password for postmaster:user_pass ←パスワード入力
enter password again:user_pass ←パスワード再入力
[root@freebsd ~]# vi /var/qmail/control/rcpthosts
↓下記を記入
freebsd.orz
mail.freebsd.orz
[root@freebsd ~]# echo 'freebsd.orz' > /usr/local/vpopmail/etc/defaultdomain [root@freebsd ~]# vi /usr/local/vpopmail/domains/freebsd.orz/.qmail-default
| /usr/local/vpopmail/bin/vdelivermail '' bounce-no-mailbox
↓
| /usr/local/vpopmail/bin/vdelivermail '' delete ←変更
メールアドレス登録
[root@freebsd ~]# /usr/local/vpopmail/bin/vadduser user_name@freebsd.orz

Please enter password for user_name@centos.orz:user_pass ←パスワード入力
enter password again:user_pass ←パスワード再入力
valias追加
[root@freebsd ~]# /usr/local/vpopmail/bin/valias -i user_name@freebsd.orz mailer-daemon@freebsd.orz
[root@freebsd ~]# /usr/local/vpopmail/bin/valias -i user_name@freebsd.orz postmaster@freebsd.orz
[root@freebsd ~]# /usr/local/vpopmail/bin/valias -i user_name@freebsd.orz root@freebsd.orz
qmail-pop3d起動
[root@freebsd ~]# vi /var/qmail/service/pop3d/run
↓下記を記入
#!/bin/sh

exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" \
tcpserver -v -x /etc/tcp.pop3.cdb -R -H 0 pop3 \
qmail-popup `hostname` /usr/local/vpopmail/bin/vchkpw \
qmail-pop3d Maildir 2>&1
[root@freebsd ~]# vi /var/qmail/service/pop3d_ssl/run
↓下記を記入
#!/bin/sh

exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" \
tcpserver -v -s -x /etc/tcp.pop3.cdb \
-n /var/qmail/cert.pem -R -H 0 pop3s \
qmail-popup `hostname` /usr/local/vpopmail/bin/vchkpw \
qmail-pop3d Maildir 2>&1
qmail-smtpd起動
[root@freebsd ~]# vi /var/qmail/service/smtpd/run
↓下記を記入
#!/bin/sh

QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" \
tcpserver -v -x /usr/local/vpopmail/etc/tcp.smtp.cdb \
-R -H -l0 -u `id -u vpopmail` -g `id -g vpopmail` 0 smtp \
qmail-smtpd `hostname` /usr/local/vpopmail/bin/vchkpw /bin/true 2>&1
[root@freebsd ~]# vi /var/qmail/service/smtpd_ssl/run
↓下記を記入
#!/bin/sh

QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" \
tcpserver -v -s -x /usr/local/vpopmail/etc/tcp.smtp.cdb -n /var/qmail/cert.pem \
-R -H -l0 -u `id -u vpopmail` -g `id -g vpopmail` 0 smtps \
qmail-smtpd `hostname` /usr/local/vpopmail/bin/vchkpw /bin/true 2>&1
qmail再起動
[root@freebsd ~]# svc -t /var/service/*
不要なファイルを削除(バーチャルドメイン環境へ移行)
[root@freebsd ~]# rm -f /home/*/.qmail
[root@freebsd ~]# rm -f /usr/local/etc/procmailrc
[root@freebsd ~]# rm -f /usr/share/skel/.qmail
[root@freebsd ~]# rm -fr /usr/share/skel/Maildir
[root@freebsd ~]# rm -f /etc/periodic/daily/700.sa-learn
Procmailバーチャルドメイン対応
[root@freebsd ~]# vi /usr/local/vpopmail/domains/freebsd.orz/user_name/.qmail
↓下記を記入
| /usr/local/bin/procmail -m ./.procmailrc
Procmail設定(POPの場合)
[root@freebsd ~]# vi /usr/local/vpopmail/domains/freebsd.orz/user_name/.procmailrc
↓下記を記入
SHELL=/bin/bash
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
HOME=/usr/local/vpopmail/domains/freebsd.orz/user_name
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmail.log
#VERBOSE=ON # 詳細ログ出力

# 件名に「未承諾広告※」を含むメールを破棄する
:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

# ヘッダーに「X-Spam-***」がない場合、spamassassinを起動
:0fw
*!^X-Spam.*
|spamassassin
Outlook Expressの設定(POPの場合)

アカウント名にメールアドレスを記入。
courier-authlibバーチャルドメイン対応
[root@freebsd ~]# vi /usr/local/etc/authlib/authdaemonrc
authmodulelist="authpam"
↓
authmodulelist="authvchkpw" ←変更

authmodulelistorig="authpam"
↓
authmodulelistorig="authvchkpw" ←変更
[root@freebsd ~]# /usr/local/etc/rc.d/courier-authdaemond restart Stopping courier_authdaemond. Starting courier_authdaemond.
スパムメールボックス作成 (IMAPの場合)
[root@freebsd ~]# mkdir -p /usr/local/vpopmail/domains/freebsd.orz/user_name/Maildir/.spam/new
[root@freebsd ~]# mkdir -p /usr/local/vpopmail/domains/freebsd.orz/user_name/Maildir/.spam/cur
[root@freebsd ~]# mkdir -p /usr/local/vpopmail/domains/freebsd.orz/user_name/Maildir/.spam/tmp
[root@freebsd ~]# chmod -R 700 /usr/local/vpopmail/domains/freebsd.orz/user_name/Maildir/.spam
[root@freebsd ~]# chown -R vpopmail:vchkpw /usr/local/vpopmail/domains/freebsd.orz/user_name/Maildir/.spam
Procmail設定(IMAPの場合)
[root@freebsd ~]# vi /usr/local/vpopmail/domains/freebsd.orz/user_name/.procmailrc
↓下記を記入
SHELL=/bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
DROPPRIVS=yes
HOME=/usr/local/vpopmail/domains/freebsd.orz/user_name
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
SPAM=$MAILDIR/.spam/
LOGFILE=$MAILDIR/procmail.log
#VERBOSE=ON # 詳細ログ出力

# 件名に「未承諾広告※」を含むメールを破棄する
:0
* ^Subject:.*=\?[Ii][Ss][Oo]-2022-[Jj][Pp]\?[Bb]\?GyRCTCQ\+NUJ6OS05cCIo
/dev/null

# ヘッダーに「X-Spam-***」がない場合、spamassassinを起動
:0fw
*!^X-Spam.*
|spamassassin

# ヘッダーに「X-Spam-Status: Yes」がある場合、「.spam」ディレクトリに格納
:0
*^X-Spam-Status: Yes
$SPAM
スパムメール学習 (IMAPの場合)
[root@freebsd ~]# vi /etc/periodic/daily/710.sa-learn
↓下記を記入
#!/bin/sh

# spamフォルダをスパムとして学習
/usr/local/bin/sa-learn --spam /usr/local/vpopmail/domains/*/*/Maildir/.spam/cur

# Maildirフォルダを通常のメールとして学習
/usr/local/bin/sa-learn --ham /usr/local/vpopmail/domains/*/*/Maildir/cur

# spamフォルダ削除する場合は下記をコメント解除
#/bin/rm -f /usr/local/vpopmail/domains/*/*/Maildir/.spam/cur/*

[root@freebsd ~]# chmod 755 /etc/periodic/daily/710.sa-learn
Outlook Expressの設定(IMAPの場合)

アカウント名にメールアドレスを記入。
外部に公開する場合
プロトコル(TCP)ポート25番(SMTP)を開放。 プロトコル(TCP)ポート110番(POP3)を開放。
Home PageTop