メール件名で配送先フォルダ自動振り分け設定メモ【procmail Almalinux 8.9】
件名による振り分けフォルダをいちいちローカルに作らずメールアプリでログインしたら表示できるようprocmailの設定をした
最小インストールのalmalinuxで時間がかかったのでメモ
前提: postfix,dovecot spamassassinなどでProcmail設定済み
参考にしたProcmailの設定(centossrv様)
Contents
1. 振り分け用フォルダ作成
#!/bin/bash
for user in `ls /home`
do
id -u $user > /dev/null 2>&1
if [ $? -eq 0 ] && [ ! -d /home/$user/Maildir/.{任意の振り分けフォルダ名}/new ]; then
mkdir -p /home/$user/Maildir/.{任意の振り分けフォルダ名}/new
mkdir -p /home/$user/Maildir/.{任意の振り分けフォルダ名}/cur
mkdir -p /home/$user/Maildir/.{任意の振り分けフォルダ名}/tmp
chmod -R 700 /home/$user/Maildir/.{任意の振り分けフォルダ名}
chown -R $user. /home/$user/Maildir/.{任意の振り分けフォルダ名}
echo $user
fi
done
任意のディレクトリで以下スクリプトを実行
.{任意の振り分けフォルダ名}の形式で各ユーザーの振り分けフォルダ作成
権限と所有者も一括設定
単に迷惑メールをprocmailで振り分けたいだけならdovecotインストール時に作られている
であろう.Junkフォルダ( /home/ユーザー名/Maildir/.Junk ) を振り分け先に使うのが無難
振り分けフォルダが増えないので管理が楽
2. Procmailに設定を記載
2.1 nkfインストール
自分の環境ではデフォルトでnkfがなかったため,以下コマンドでインストール
# rpm -Uvh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/nkf-2.1.3-5.el7.x86_64.rpm
# dnf install nkf
2.2 /etc/procmailrcで振り分け設定(一番下の:0Hが振り分け設定部分)
procmailrcファイルの文字コードによってnkfオプションが変わる(これ大事)
UTF-8の場合→"nkf -Zmw"
EUCの場合→"nkf -meZ2″
SHELL=/bin/bash
PATH=/usr/bin:/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$HOME/.procmail.log # ログ出力先
VERBOSE=ON # 詳細ログ出力
# SpamAssassinがスパム判定したメールはスパム専用メールボックス(/home/xxxx/Maildir/.{任意の振り分けフォルダ名})へ配送
:0
*^X-Spam-Flag: YES
$HOME/Maildir/.{任意の振り分けフォルダ名}/
:0H
* ^Subject: \/.*
* ? echo "$MATCH" | /usr/bin/nkf -Zmw | /bin/grep '{振り分け用の文字列(この文字が件名にあったら振り分け実行)}'
#文字列に一致したら以下ディレクトリに配送
$HOME/Maildir/.{任意の振り分けフォルダ名}/
procmailrcで設定した振り分けがうまくできないという人はprocmailrcの文字コードを一度確認してみてほしい
以上で任意のフォルダへの振り分けができた
ディスカッション
コメント一覧
まだ、コメントがありません