このチュートリアルでは、alterMIMEをインストールして使用する方法を示します。 alterMIMEは、電子メールに免責事項を自動的に追加できるツールです。この記事では、DebianSqueezeにPostfixフィルターとしてインストールする方法を説明します。
1予備メモ
Postfixがすでにインストールされており、完全に機能していることを前提としています。このチュートリアルでは、Postfixの設定方法とメールアカウントの構成方法については説明しません。
2alterMIMEのインストール
alterMIMEは次のようにインストールできます:
apt-get install altermime
次に、ホームディレクトリ/ var / spool / filter filterを使用してユーザーフィルターを作成します。alterMIMEはそのユーザーとして実行されます:
useradd -r -c "Postfix Filters" -d /var/spool/filter filter
mkdir /var/spool/filter
chown filter:filter /var/spool/filter
chmod 750 /var/spool/filter
その後、alterMIMEを実行するスクリプト/ etc / postfix/disclaimerを作成します。 DebianのalterMIMEパッケージには、/ etc / postfix/disclaimerに簡単にコピーできるサンプルスクリプトが付属しています。
cp /usr/share/doc/altermime/examples/postfix_filter.sh /etc/postfix/disclaimer
chgrp filter /etc/postfix/disclaimer
chmod 750 /etc/postfix/disclaimer
このスクリプトの問題は、受信メールと送信メールを区別しないことです。つまり、すべてのメールに免責事項を追加するだけです。通常、免責事項は送信メールに対してのみ必要であり、それでもすべての送信者アドレスに対しては必要ありません。そのため、/ etc / postfix/disclaimerスクリプトを少し変更しました。これについてはすぐに説明します。
今のところ、alterMIMEが免責事項を追加する必要があるすべての送信者の電子メールアドレス(1行に1つ)を保持するファイル/ etc / postfix / disclaimer_addressesを作成します:
vi /etc/postfix/disclaimer_addresses
[email protected] [email protected] [email protected] |
ここで/etc/ postfix / disclaimerを開き、次のように変更します(変更した部分にマークを付けました):
vi /etc/postfix/disclaimer
#!/bin/sh # Localize these. INSPECT_DIR=/var/spool/filter SENDMAIL=/usr/sbin/sendmail ####### Changed From Original Script ####### DISCLAIMER_ADDRESSES=/etc/postfix/disclaimer_addresses ####### Changed From Original Script END ####### # Exit codes from <sysexits.h> EX_TEMPFAIL=75 EX_UNAVAILABLE=69 # Clean up when done or when aborting. trap "rm -f in.$$" 0 1 2 3 15 # Start processing. cd $INSPECT_DIR || { echo $INSPECT_DIR does not exist; exit $EX_TEMPFAIL; } cat >in.$$ || { echo Cannot save mail to file; exit $EX_TEMPFAIL; } ####### Changed From Original Script ####### # obtain From address from_address=`grep -m 1 "From:" in.$$ | cut -d "<" -f 2 | cut -d ">" -f 1` if [ `grep -wi ^${from_address}$ ${DISCLAIMER_ADDRESSES}` ]; then /usr/bin/altermime --input=in.$$ \ --disclaimer=/etc/postfix/disclaimer.txt \ --disclaimer-html=/etc/postfix/disclaimer.txt \ --xheader="X-Copyrighted-Material: Please visit http://www.company.com/privacy.htm" || \ { echo Message content rejected; exit $EX_UNAVAILABLE; } fi ####### Changed From Original Script END ####### $SENDMAIL "[email protected]" <in.$$ exit $? |
次に、免責事項のテキストを保持するテキストファイル/etc/postfix/disclaimer.txtが必要です。 DebianのalterMIMEパッケージには、今のところ使用できるサンプルテキストが付属しています(もちろん、必要に応じて変更できます):
cp /usr/share/doc/altermime/examples/disclaimer.txt /etc/postfix/disclaimer.txt
最後に、Postfixに/ etc / postfix/disclaimerスクリプトを使用して送信メールに免責事項を追加する必要があることを通知する必要があります。 /etc/postfix/master.cfを開き、-o content_filter =dfilt:をsmtp行に追加します:
vi /etc/postfix/master.cf
# # Postfix master process configuration file. For details on the format # of the file, see the master(5) manual page (command: "man 5 master"). # # Do not forget to execute "postfix reload" after editing this file. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - - - - smtpd -o content_filter=dfilt: [...] |
同じファイルの最後に、次の2行を追加します。
[...] dfilt unix - n n - - pipe flags=Rq user=filter argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient} |
その後、Postfixを再起動します:
/etc/init.d/postfix restart
それでおしまい!ここで、/ etc / postfix/disclaimer_addressesにリストされているアドレスから送信される送信メールに免責事項を追加する必要があります。
3つのリンク
- alterMIME:http://pldaniels.com/altermime/
- Postfix:http://www.postfix.org/
- Debian:http://www.debian.org/