virtual_alias_maps를 통해 나에게 발신 이메일을 보내는 Postfix

virtual_alias_maps를 통해 나에게 발신 이메일을 보내는 Postfix

*@example.com모든 이메일을 내 도메인인 , 단일 가상 사서함으로 전달하도록 설정된 postfix 메일 서버가 있습니다 [email protected].

저는 다음 구성으로 그렇게 했습니다.

/etc/postfix/main.cf

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf regexp:/etc/postfix/aliases-regexp

/etc/postfix/aliases-regexp (아무거나 전달해야~ 아니다벌써 갈 예정이야 [email protected])

!/me@example\.com/ [email protected]

메일 수신이 제대로 작동합니다.

postfix/smtpd[5852]: connect from unknown[108.60.212.145]
postfix/trivial-rewrite[5856]: warning: do not list domain example.com in BOTH virtual_mailbox_domains and relay_domains
postfix/smtpd[5852]: E7D49E27: client=unknown[108.60.212.145]
postfix/cleanup[5857]: E7D49E27: message-id=<a197d7118eaedfb5@be0fdfd65ca8aeb2>
postfix/qmgr[5787]: E7D49E27: from=<[email protected]>, size=1700, nrcpt=1 (queue active)
postfix/smtpd[5852]: disconnect from unknown[108.60.212.145] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
postfix/pickup[5785]: 64CB91090: uid=1002 from=<[email protected]>
postfix/cleanup[5857]: 64CB91090: message-id=<a197d7118eaedfb5@be0fdfd65ca8aeb2>
postfix/qmgr[5787]: 64CB91090: from=<[email protected]>, size=2068, nrcpt=1 (queue active)
postfix/trivial-rewrite[5856]: warning: do not list domain example.com in BOTH virtual_mailbox_domains and relay_domains
postfix/pipe[5858]: E7D49E27: to=<[email protected]>, orig_to=<[email protected]>, relay=spamassassin, delay=0.54, delays=0.13/0.01/0/0.4, dsn=2.0.0, status=sent (delivered via spamassassin service)
postfix/qmgr[5787]: E7D49E27: removed
postfix/lmtp[5862]: 64CB91090: to=<[email protected]>, relay=fqdn.example.com[private/dovecot-lmtp], delay=0.08, delays=0.02/0.03/0.02/0.02, dsn=2.0.0, status=sent (250 2.0.0 <[email protected]> 22w5HOfOilvnFgAASQqZ1w Saved)
postfix/qmgr[5787]: 64CB91090: removed

다음 줄을 참고하세요.

postfix/pipe[5858]: E7D49E27: to=<[email protected]>, orig_to=<[email protected]>, relay=spamassassin, delay=0.54, delays=0.13/0.01/0/0.4, dsn=2.0.0, status=sent (delivered via spamassassin service)

메시지가 을(를) 대상으로 했으나 [email protected]에게 전달되었음을 나타냅니다 [email protected]. 이것은 좋다. 불행히도 나가는 길에도 이런 일이 발생합니다. 이로 인해 나가는 메시지가 나에게 다시 전송됩니다.

postfix/lmtp[5862]: BA93CE27: to=<[email protected]>, orig_to=<[email protected]>, relay=fqdn.example.com[private/dovecot-lmtp], delay=0.22, delays=0.19/0/0.02/0.02, dsn=2.0.0, status=sent (250 2.0.0 <[email protected]> QzBoOSXPiluGGAAASQqZ1w Saved)

메일을 보낼 때의 전체 로그는 다음과 같습니다.

postfix/trivial-rewrite[5856]: warning: do not list domain example.com in BOTH virtual_mailbox_domains and relay_domains
postfix/submission/smtpd[6260]: BA93CE27: client=mail-pl1-f178.google.com[209.85.214.178], sasl_method=PLAIN, [email protected]
postfix/cleanup[5857]: BA93CE27: message-id=<CAHgoK_pUF=7qQ+fCRYcqKBPGqxK1fin-AjjoY5xr0GuUeDScow@mail.gmail.com>
postfix/qmgr[5787]: BA93CE27: from=<[email protected]>, size=4192, nrcpt=1 (queue active)
postfix/trivial-rewrite[5856]: warning: do not list domain example.com in BOTH virtual_mailbox_domains and relay_domains
postfix/lmtp[5862]: BA93CE27: to=<[email protected]>, orig_to=<[email protected]>, relay=fqdn.example.com[private/dovecot-lmtp], delay=0.22, delays=0.19/0/0.02/0.02, dsn=2.0.0, status=sent (250 2.0.0 <[email protected]> QzBoOSXPiluGGAAASQqZ1w Saved)
postfix/qmgr[5787]: BA93CE27: removed

결과적으로 내 메시지가 전송되지 않은 것으로 나타나고 오류도 반환되지 않습니다.

답변1

Postfix에는 도메인에 대한 포괄 기능을 생성하는 옵션이 많이 있는데, 여러분의 옵션은 다소 복잡합니다. 일반적인 방법은 virtual_alias_maps = hash:/etc/postfix/virtualwith 을 사용하는 것입니다 @example.com me. 를 postmap /etc/postfix/virtual사용할 때 기억하세요 hash:.

답변2

나는 다음과 같이 변경하여 이 문제를 해결했습니다 /etc/postfix/aliases-regexp.

if /(.*)@example.com/
!/me@example\.com/ [email protected]
endif

if 문은 먼저 메일이 나가는 메일을 제외한 도메인으로 가는지 확인합니다.

관련 정보