다음을 사용하여 postfix 메일 서버를 설정하려고 합니다.
- 간단한 콘텐츠 필터(http://www.postfix.org/FILTER_README.html#simple_filter)
- 비둘기는 배달원 역할을 합니다.
always_bcc
보내는 모든 이메일의 사본을 보관하세요.
내 관련 구성은 다음과 같습니다
master.cf
smtp inet n - y - - smtpd
-o content_filter=filter:dummy
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
-o syslog_name=postfix/$service_name
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
filter unix - n n - 10 pipe
flags=Rq user=filter null_sender=
argv=/var/spool/filter/scripts/filter.sh -f ${sender} -- ${recipient}
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
main.cf (관련 부분만)
always_bcc = [email protected]
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
/var/spool/filter/scripts/filter.sh
#!/bin/sh
/usr/bin/cat | /var/spool/filter/scripts/mailfilter | /usr/sbin/sendmail -G -i "$@"
exit $?
- 내 사용자의 이메일 주소는 모두 "(초기)입니다.[이메일 보호됨]" 형식
- 역할을 수행하는 일부 보안 그룹이 있으며 각 보안 그룹에는 "[이메일 보호됨]" 형식.
- 기본적으로 역할 이메일은 여러 사용자의 별칭 역할을 합니다.
- 사용자 대신 그룹/역할을 사용하여 권한을 설정할 수 있습니다.
예를 들어
- 내 사용자 이메일은 다음과 같습니다.[이메일 보호됨]
- 나는 IT 부서 역할의 구성원입니다([이메일 보호됨])
- 저는 몇 가지 다른 역할에 속해 있지만 주요 역할은 "IT 부서"입니다.
- 나는 이 그룹/역할의 구성원이기 때문에 다른 구성원과 마찬가지로 특정 권한을 갖습니다.
- 각 이메일을 다음으로 보내세요.[이메일 보호됨]나와 다른 회원들에게 연락할 것입니다.
지금까지는 아주 좋습니다...하지만 상사는 제가 보내는 모든 이메일을 사용하기를 원합니다.[이메일 보호됨](역할) 주소 대신[이메일 보호됨](사용자). 즉, 전송된 모든 메시지는 사용자 이메일이 아닌 주 역할 이메일을 사용합니다.
/var/spool/filter/scripts/mailfilter
이 작업을 수행하는 내부적으로 만들어진 필터입니다("from" 주소를 "(initial).surname@"에서 "role@"으로 변경하고 LDAP 서버를 확인합니다).
결코 실패하지 않습니다(오류 조건이 발생하면 수정 없이 stdin을 stdout으로 복사하므로 주소는 변경되지 않습니다).
문제는 내가 이메일을 보낼 때 두 개의 사본이 다음으로 전송된다는 것입니다.[이메일 보호됨]로그에 표시된 대로 예상한 대로 복사본이 없습니다.
Dec 16 16:23:08 correo2 postfix/smtpd[32453]: connect from informatica1.mydomain.example[10.128.159.15]
Dec 16 16:23:08 correo2 postfix/smtpd[32453]: DD925380C87: client=informatica1.mydomain.example[10.128.159.15], sasl_method=LOGIN, [email protected]
Dec 16 16:23:08 correo2 postfix/cleanup[32456]: DD925380C87: message-id=<[email protected]>
Dec 16 16:23:09 correo2 postfix/qmgr[32275]: DD925380C87: from=<[email protected]>, size=2749, nrcpt=2 (queue active)
Dec 16 16:23:09 correo2 postfix/pickup[32274]: AAFEF380C8D: uid=110 from=<[email protected]>
Dec 16 16:23:09 correo2 postfix/pipe[32457]: DD925380C87: to=<[email protected]>, relay=filter, delay=0.81, delays=0.11/0/0/0.7, dsn=2.0.0, status=sent (delivered via filter service)
Dec 16 16:23:09 correo2 postfix/pipe[32457]: DD925380C87: to=<[email protected]>, orig_to=<[email protected]>, relay=filter, delay=0.81, delays=0.11/0/0/0.7, dsn=2.0.0, status=sent (delivered via filter service)
Dec 16 16:23:09 correo2 postfix/qmgr[32275]: DD925380C87: removed
Dec 16 16:23:09 correo2 postfix/cleanup[32456]: AAFEF380C8D: message-id=<[email protected]>
Dec 16 16:23:09 correo2 postfix/qmgr[32275]: AAFEF380C8D: from=<[email protected]>, size=2927, nrcpt=3 (queue active)
Dec 16 16:23:10 correo2 dovecot: lda([email protected])<32488><2DSfML3hnGPofgAA0V72BQ>: msgid=<[email protected]>: saved mail to INBOX
Dec 16 16:23:10 correo2 postfix/pipe[32473]: AAFEF380C8D: to=<[email protected]>, relay=dovecot, delay=1.1, delays=0.79/0/0/0.28, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 16 16:23:10 correo2 dovecot: lda([email protected])<32490><Au2fML3hnGPqfgAA0V72BQ>: msgid=<[email protected]>: saved mail to INBOX
Dec 16 16:23:10 correo2 postfix/pipe[32471]: AAFEF380C8D: to=<[email protected]>, relay=dovecot, delay=1.1, delays=0.79/0/0/0.34, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 16 16:23:10 correo2 dovecot: lda([email protected])<32489><BE2gML3hnGPpfgAA0V72BQ>: msgid=<[email protected]>: saved mail to INBOX
Dec 16 16:23:10 correo2 postfix/pipe[32470]: AAFEF380C8D: to=<[email protected]>, relay=dovecot, delay=1.1, delays=0.79/0/0/0.35, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 16 16:23:10 correo2 postfix/qmgr[32275]: AAFEF380C8D: removed
Dec 16 16:23:11 correo2 postfix/smtpd[32453]: disconnect from informatica1.mydomain.example[10.128.159.15] ehlo=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=6
uid=110은 "필터" 사용자 uid입니다. "보낸 사람"은 이메일 내부 헤더에서만 변경되므로 로그에는 표시되지 않습니다.
이 이중 배송 세부 사항 외에는 모든 것이 정상적으로 실행되고 있습니다.
문제를 해결하는 방법을 아시나요?