サーバーにPostfixを追加し、procmailとカスタマイズされたシェルスクリプトを使用して、ローカルドメイン/マシン上のユーザーアカウントの1つに対する受信メールを処理しています。 ([email protected])
メールに受信者が1人しかいない場合は、すべて正常に機能していましたが、メールリストに別の受信者を追加するとすぐに..同じメッセージが2回表示されます。 (例:work + 123 @ doamin.com、work + 456 @ domain.comにメッセージを送信する)
Main.cfには特別な構成はありませんが、次のようになります。
mailbox_command = /usr/bin/procmail -a "EXTENSION"
および.procmailrc
は次のとおりです。
TO=`formail -xTo:`
SUBJECT=`formail -xSubject: \
| expand | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g'`
SENDER=`formail -xFrom: \
| expand | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g'`
BODY=`formail -I "" \
| expand | sed -e '1,/^$/ d' -e '1,/^$/ d'`
BODY=`formail -I "" `
SENDER=`formail -rtzxTo:`
:0
| $HOME/bin/work.sh "$TO" "$BODY"
私はprocmailrcでこの問題を管理しようと考えていましたが、この場合の知識は非常に低いです。
まあ、明らかに解決策は重複したメッセージIDをフィルタリングするためのロック/キャッシュファイルです:
:0 Wh: msgid.lock
| formail -D 8192 msgid.cache
みんな、ありがとう :)