로컬 계정용 하이브리드 Gmail MX + 접미사

로컬 계정용 하이브리드 Gmail MX + 접미사

설정은 다음과 같습니다.

mydomain.com이라는 도메인이 있습니다. Gmail을 통한 일반 이메일 계정을 제외하고 모든 것이 자체 서버에 있습니다.

현재 Gmail은 MX 레코드로 설정되어 있습니다.

서버에는 버그 추적기 등을 지원하는 데 필요한 다양한 이메일 별칭도 있습니다. 예를 들어[이메일 보호됨]|/path/to/issuetracker.script

로컬과 사용자의 이메일 클라이언트 모두에서 다음을 허용하는 설정에 어려움을 겪고 있습니다.

  1. guser1 - Gmail 계정과 로컬 계정이 있습니다
  2. guser2 - Gmail 계정만 있음
  3. 버그 - 이슈 트래커를 위해 /etc/aliases에 파이프 별칭이 있습니다.

시나리오

그래서 첫 번째 작업은 교통 지도를 만드는 것이었습니다. 이 시나리오에서는 서버가 MX로 설정되고 guser* 대상 이메일이 Gmail로 전송됩니다. 다음과 같이 Gmail 사용자를 지도에 넣으세요.

[email protected] smtp:gmailsmtp:25
[email protected] smtp:gmailsmtp:25

문제:

  • 다음과 같은 확장자를 무시합니다.[이메일 보호됨]
  • Append_at_myorigin = no인 경우에만 작동합니다. (yes로 설정하면 Gmail은 다음과의 연결을 거부합니다: E4C7E3E09BA3: to=, Relay=none, Delay=0.05, Delays=0.02/0.01/0.02/0, dsn=4.4.1, status=deferred (gmail-smtp-in.l.google.com[209.85.222.57]:25에 연결: 연결이 거부됨))
  • append_at_myorigin이 no로 설정되어 있으므로 수신된 모든 이메일에는 (알 수 없는 발신자)가 포함됩니다.

두 번째 방법은 /etc/aliases에 명시적인 로컬 호스트 별칭을 설정하고 mydomain에서 도메인 전체 전달을 수행하는 것이었습니다. 이 경우에도 로컬 서버를 MX로 설정해야 합니다.

root: root@localhost
# transport
mydomain.com smtp:gmailsmtp:25

문제: * "$myhostname"과 일치하는 도메인에 대한 전송 맵을 생성하면 별칭 파일이 구문 분석되지 않습니다. 따라서 로컬 사용자(또는 데몬)가 다음과 같은 이메일을 보낼 때:

mail -s "testing" root < text.txt

Postfix는 /etc/alias 항목을 무시하고 다음에 매핑됩니다.[이메일 보호됨]Gmail 전송 매핑으로 보내려고 시도합니다.

세 번째 찌르기:

bugs.mydomain.com과 같은 버그에 대한 하위 도메인을 만듭니다. 이 도메인의 MX를 로컬 서버로 설정하고 mydomain.com의 MX는 Gmail 서버에 그대로 둡니다.

문제: * 로컬 계정 문제가 해결되지 않습니다. 따라서 버그 추적기가 보낸 이메일에 응답하면[이메일 보호됨], 로컬 전송을 사용하며 사용자는 이메일을 받지 못합니다.

% postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_at_myorigin = no
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = $myhostname, localhost.$myhostname, localhost
myhostname = mydomain.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = 
smtp_tls_cert_file = /etc/ssl/certs/kspace.pem
smtp_tls_enforce_peername = no
smtp_tls_key_file = /etc/ssl/certs/kspace.pem
smtp_tls_note_starttls_offer = yes
smtp_tls_scert_verifydepth = 5
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks,   reject_invalid_hostname,   reject_non_fqdn_sender,   reject_non_fqdn_recipient,   reject_unknown_sender_domain,   reject_unknown_recipient_domain,   reject_unauth_destination
smtpd_tls_ask_ccert = yes
smtpd_tls_req_ccert = no
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport

답변1

가상으로 전환하세요. postfix로 VIRTUAL Docs를 읽어보세요. 그렇게 하면 훨씬 더 많은 제어권을 갖게 됩니다.

메인.cf:

virtual_alias_maps = hash:/etc/postfix/virtual
virtual_mailbox_maps = hash:/etc/postfix/virtualmailboxmap
virtual_mailbox_domains = mydomain.com
virtual_transport = local:

가상, 보유한 모든 사용자를 나열하십시오.

localuser  localuser
somealias  localuser
guser1     [email protected],guser1
bugs       [email protected]

virtualmailboxmap, 모든 로컬 사용자 목록, 오른쪽은 중요하지 않습니다!

 localuser   rhsunused
 guser1      rhsunused

수송:

 mydomain.com      local:
 gmail.mydomain.com smtp:gmailsmtp:25
 issuetracker.mydomain.com smtp:[issuetracker ip]:25

나는 사이러스와 함께 이것을 가지고 있었습니다: 로컬 계정을 위한 운송. 이것이 모든 질문에 대한 완전한 답변은 아니지만 시작이 될 수 있다는 것을 알고 있습니다.

관련 정보