alterMIME을 사용하여 발신 이메일에 고지 사항을 자동으로 추가하는 방법(Debian Squeeze의 접미사)

alterMIME을 사용하여 발신 이메일에 고지 사항을 자동으로 추가하는 방법(Debian Squeeze의 접미사)

2022-10-19 last update

5 minutes reading email postfix debian
이 튜토리얼은 alterMIME 을 설치하고 사용하는 방법을 보여줍니다. alterMIME은 이메일에 면책 조항을 자동으로 추가할 수 있는 도구입니다. 이 기사에서는 Debian Squeeze에서 Postfix 필터로 설치하는 방법을 설명합니다.

1 서문


Postfix가 이미 설치되어 있고 완벽하게 작동한다고 가정합니다. 이 튜토리얼에서 Postfix를 설정하고 이메일 계정을 구성하는 방법은 설명하지 않겠습니다.

2 alterMIME 설치


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를 만듭니다. 데비안의 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이 면책 조항을 추가해야 하는 모든 발신자 이메일 주소(한 줄에 하나씩)를 포함하는/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 텍스트 파일이 필요합니다. 데비안의 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:
[...]

동일한 파일의 끝에 다음 두 줄을 추가합니다.


[...]
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/
  • 접미사: http://www.postfix.org/
  • 데비안: http://www.debian.org/