Postfix: 이메일 전달을 위한 전송

Postfix: 이메일 전달을 위한 전송

가상 사용자가 제대로 실행되는 Postfix 설정이 있습니다. 내 사용자 중 일부는 [email protected]편의를 위해 이메일을 외부 이메일 Gmail 계정으로 리디렉션했습니다 .[email protected]virtual_alias_maps

transport_maps이제 다음과 같이 특수 전송을 사용하여 이러한 전달을 수행하려고 합니다 .

메인.cf:

virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_alias_maps = mysql:/etc/postfix/virtual/mysql-alias-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/virtual/mysql-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual/mysql-mailbox-maps.cf
default_transport = out-default
transport_maps = mysql:/etc/postfix/virtual/mysql-transport-maps.cf

master.cf:

out-default   unix  -       -       n       -       -       smtp
 -o proxy_interfaces=$smtp_default_transport_proxy_interface
 -o smtp_bind_address=$smtp_default_transport_interfaces
 -o inet_interfaces=$smtp_default_transport_interfaces
 -o myhostname=$smtp_default_transport_hostname
 -o smtp_helo_name=$smtp_default_transport_hostname
 -o syslog_name=smtp-$smtp_default_transport_hostname
out-fwd   unix  -       -       n       -       -       smtp
 -o proxy_interfaces=$smtp_default_transport_proxy_interface
 -o smtp_bind_address=$smtp_default_transport_interfaces
 -o inet_interfaces=$smtp_default_transport_interfaces
 -o myhostname=$smtp_default_transport_hostname
 -o smtp_helo_name=$smtp_default_transport_hostname
 -o syslog_name=smtp-fwd-$smtp_default_transport_hostname
 -o bounce_queue_lifetime=0
 -o maximal_queue_lifetime=0

mysql-별칭-maps.cf:

query = SELECT destination FROM `aliases` WHERE source='%s'

mysql-전송-maps.cf:

query = SELECT IF (ISNULL(destination), NULL, 'out-fwd') as transport \
FROM `aliases` \
WHERE destination='%s' \
AND destination LIKE '%%@gmail.com'

내가 달성하고 싶은 것은 "사용자가 @gmail로 이메일을 전달하면 대기열 수명이 단축됩니다."

이제 이러한 사용자에게 이메일을 보내려고 하면 다음과 같은 일이 발생합니다.

postfix/qmgr[28839]: warning: connect to transport private/out-fwd,out-fwd: No such file or directory

개인/외부 이체,외부 전송>배송 이름이 반복되는 이유는 무엇입니까?

out-fwd:(끝에 콜론)을 반환하도록 쿼리를 변경하면 다음과 같은 결과 를 얻습니다.

smtp-fwd-xxxx/smtp[23429]: fatal: valid hostname or network address required in server description: ,out-fwd:

,out-fwd: ???왜요?

제가 댓글만 달았더라면 transport_maps이메일이 default_transport = out-default좋은 방법으로 전달될 테니 참고해주세요.

감사해요.

답변1

이 질문을 찾았는데 이것이 내 문제입니다. 동일한 외부 Gmail 계정으로 전달/별칭을 지정하는 로컬 계정이 여러 개 있고 어떤 이유로 Postfix가 결과를 연결하는 경우 위 쿼리는 여러 결과를 반환합니다.

query = SELECT IF (ISNULL(destination), NULL, 'out-fwd') as transport \
FROM `aliases` \
WHERE destination='%s' \
AND destination LIKE '%%@gmail.com' \
LIMIT 1

수정 사항이 추가되었습니다 LIMIT.

관련 정보