가상 사용자가 제대로 실행되는 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
.