クラウド、レンタルサーバ、SEO、WPなどのレシピを!

サーバーレシピ

CentOS7 postfix SpamAssassin メールサーバー 迷惑メール対策

Postfix 3.4 [迷惑メール対策 SpamAssassin ユーザ毎] CentOS7 (マルチドメイン)

更新日:

SpamAssassinにて、ユーザ毎に設定ができるように調整します。
また、PostfixAdminにて、メールボックスが作成できるようにします。

SpamAssassinを通さないメール

メールによっては、SpamAssassinを通さないように設定をします。
これにより、サーバーの負荷が下がります。
SpamAssassinは、サーバーにそれなりの負荷がかかります(汗)。

↑という行を加えます。

/mail/(ドメイン)/(@前)/
直下に「nospamcheck」というファイルを置くと、
SpamAssassinを通さない設定になります。

SpamAssassin ユーザ毎の設定ファイルを読み込む

あるメールアドレスは、
・迷惑メール判定を厳しく
・ホワイトリストを多く設定する
など、メールアドレス毎の設定が可能なようにします。

SpamaAsassinのオプション変更

「-s /var/log/spamd.log」 で、ログファイル名を指定します。
/var/log/maillogから、ファイルを分離して、メンテナンスをしやすくします。

「--virtual-config-dir=/mail/%d/%l/.spamassassin」
で、ユーザ毎のSpamAssassinの設定ファイルを読み込みます。
「/mail/(ドメイン)/(@前のユーザ)/.spamassassin」
のディレクトリを、設定ファイル関係のファイルと指定します。
この場合、
「/mail/(ドメイン)/(@前のユーザ)/.spamassassin/user_prefs」
が、優先的に読み込まれます。
ユーザ毎の設定ファイルがない場合は、デフォルトの
「/etc/mail/spamassassin/local.cf」
が評価されます。

「--x」は、「--virtual-config-dir」を有効にするには、必須。

ユーザ毎の評価ファイル、
「/mail/(ドメイン)/(@前のユーザ)/.spamassassin/user_prefs」は、
「/etc/mail/spamassassin/local.cf」は、同じファイル形式です。

procmailrcの変更

ユーザ毎のSpamaAsassin設定

/etc/mail/spamassassin/local.cf

/mail/(ドメイン)/(@前のユーザ)/.spamassassin/user_prefs
に、コピーします。

そして、ユーザ毎のSpamaAsassin設定は、

/mail/(ドメイン)/(@前のユーザ)/.spamassassin/
の「private_prefs」に書いておきます。

/mail/(ドメイン)/(@前のユーザ)/.spamassassin/private_prefs

というふうに書きます。

PostfixAdmin メールボックスの作成

procmailを使うと、PostfixAdminで、メールを作成しても、自動的に、サーバー側で、メールボックスが作成されません。
PostfixAdminで、メールの作成/削除をしたときに、スクリプトを走らせて、自動的にメールボックスを作成するようにします。

↑ドメイン登録、メールボックス登録/削除のスクリプトを、コピーします。

↑削除されたメールボックスの待避用ディレクトリをあらかじめ作成します。

「sudo」コマンドで、

を入れます。

apache ユーザは、/usr/local/bin/postfixadmin/p*のコマンドをパスワードなしで、実行することができる。
という設定です。

これを入れないと、
[sudo] password for apache:
と怒られます。

↑と、表示され、
/mail/以下にも、メールボックス(MailDir形式)が作成されました。

-CentOS7, postfix, SpamAssassin, メールサーバー, 迷惑メール対策

Copyright© サーバーレシピ , 2019 All Rights Reserved.