GNU/Linux >> Linux の 問題 >  >> Debian

alterMIMEを使用して送信メールに免責事項を自動的に追加する方法(Debian SqueezeのPostfix)

このチュートリアルでは、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にリストされているアドレスから送信される送信メールに免責事項を追加する必要があります。

  • alterMIME:http://pldaniels.com/altermime/
  • Postfix:http://www.postfix.org/
  • Debian:http://www.debian.org/

Debian
  1. Postfixを使用してSMTP認証を使用してメールを配信する

  2. / etc / motdはどのように更新されますか?

  3. Ubuntu/DebianサーバーにPostfixとDovecotを使用してSpamassassinをインストールする方法

  1. DebianLinuxで静的IPアドレスを設定する方法

  2. DebianSqueezeでeCryptfsを使用してディレクトリ/パーティションを暗号化する方法

  3. CentOS / RHEL :削除された /etc/passwd ファイルから回復する方法

  1. DebianSqueezeでmylvmbackupを使用してMySQLデータベースをバックアップする方法

  2. フルTLDの受信をブロックする

  3. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?