
exim4를 실행하면 특정 주소(회사를 떠날 사용자의 주소)에 메일이 도착하는 경우 보낸 사람에게 알림 메시지를 보내는 방법을 알 수 없습니다.
답변1
"자동 회신" 드라이버를 사용하여 자동 회신 메시지를 보낼 수 있습니다. 일반적으로 휴가 메시지에 사용되지만 물론 모든 종류의 메일을 다시 보낼 수도 있습니다.
대략적으로 필요한 것은 (일부 조건에 따라) 자동 응답 드라이버를 사용하여 메시지를 전송으로 리디렉션하는 라우터입니다. 라우터는 다음과 같습니다.
vacation_reply:
driver=accept
domains = +local_domains
senders = ! ^.*-request@.*:\
! ^bounce-.*@.*:\
! ^.*-bounce@.*:\
! ^owner-.*@.*:\
! ^postmaster@.*:\
! ^webmaster@.*:\
! ^listmaster@.*:\
! ^mailer-daemon@.*:\
! ^root@.*:\
! ^noreply@.*
condition=${lookup mysql {\
select email from vacation where \
email='${quote_mysql$local_part}@${quote_mysql:$domain}'\
and active='y'\
}}
no_expn
transport=vacation_transport
unseen
no_verify
위의 라우터는 휴가에 대한 스니펫이지만 이를 다시 작성하는 데 문제가 없을 것입니다. 또한 mysql을 백엔드로 사용하므로 예를 들어 파일을 사용하는 경우 구성이 약간 다를 수 있지만 아이디어는 얻을 수 있습니다.
라우터가 있으면 다음과 같은 전송(이 예에서는 "vacation_transport"라고 함)이 필요합니다.
vacation_transport:
driver=autoreply
from= ${lookup mysql {\
select concat('"',name,'" <',username,'>') \
from mailbox where username='${local_part}@${domain}' AND active=1 \
}}
to= ${lookup mysql {\
select '${quote_mysql:$sender_address}' \
from vacation where email='${local_part}@${domain}' and active='y' \
}}
subject= ${lookup mysql {\
select subject from vacation \
where email='${local_part}@${domain}' and active='y' \
}}
text= ${lookup mysql {\
select body from vacation \
where email='${local_part}@${domain}' and active='y' \
}}
이번에도 mysql 백엔드를 사용하고 있습니다(동일한 구성 파일 ofcoz에서 복사하여 붙여넣은 것입니다). 요점은 "from", "to", "subject" 및 "text" 변수를 설정하는 것입니다. 자동 회신 전송은 이를 사용하여 회신 메일을 작성합니다. 보낸 사람에게 사용자의 부재를 알려야 하는 경우 조회를 제거할 수 있으며 대부분의 경우 정적 텍스트를 포함할 수 있습니다. 다시 한번 말씀드리지만, 이 예는 사용자가 자신의 메시지를 맞춤 설정할 수 있는 휴가 메일에 관한 것입니다.
자동 회신 드라이버에 대해서는 다음 페이지를 참조하세요. http://wiki.exim.org/EximAutoReply
또한,출국 서류유용하기도 합니다.
답변2
사서함을 삭제하면 사서함이 존재하지 않는다는 반송 메일을 보낼 것이라고 가정합니다.