저는 Gitlab의 Ubuntu 16.04 서버에서 Postfix를 실행하고 있으며 회사 도메인을 제외한 대부분의 도메인에 이메일을 보낼 수 있습니다. 내가 아는 한 Postfix는 내 도메인의 메일 서버 IP 주소를 시도한 적이 없습니다. 이 예에서는 내 이메일이 다음과 같다고 가정하겠습니다.[이메일 보호됨]메일 서버 주소는 11.101.1.40입니다. Postfix 메일 로그 보고서:
Jan 5 10:05:10 linux-dev postfix/smtp[2058]: connect to company.com[11.202.17.1]:25: Connection timed out
Jan 5 10:05:40 linux-dev postfix/smtp[2058]: connect to company.com[11.101.1.46]:25: Connection timed out
Jan 5 10:06:10 linux-dev postfix/smtp[2058]: connect to company.com[11.101.56.8]:25: Connection timed out
그래서 11.101.1.40에 있는 실제 메일 서버를 시도조차 하지 않습니다. 주변을 검색한 결과 /etc/hosts 파일을 편집하여 도메인을 올바른 IP에 수동으로 매핑하라는 제안을 보았습니다. 그래서 내 호스트 파일에 다음을 추가했습니다.
11.101.1.40 company.com
그런 다음 Postfix가 호스트 파일과 DNS 서버를 사용하도록 하기 위해 다음을 /etc/postfix/main.cf에 추가했습니다.
smtp_host_lookup=dns, native
postfix를 다시 로드하고, 서버를 다시 시작하는 등의 작업을 수행합니다. Postfix는 여전히 메일 서버 IP를 시도하지 않습니다.
그래서 /etc/postfix/main.cf를 다음으로 변경했습니다.
smtp_host_lookup=native
효과가있다!
Jan 5 10:22:27 linux-dev postfix/smtp[1317]: 9DBC61A405FB: to=<[email protected]>, relay=company.com[11.101.1.40]:25, delay=90665, delays=90664/0.04/0.51/0.26, dsn=2.0.0, status=sent (250 Message accepted for delivery)
글쎄요, 로컬 머신을 먼저 확인하도록 smtp_host_lookup을 변경하면 될 것 같습니다.
smtp_host_lookup=native, dns
불운. 여전히 11.101.1.40을 시도하지 않습니다. 내가 놓친 구성에 대한 아이디어가 있나요? 이 메일 서버와 다른 도메인으로 이메일을 보낼 수 있기를 원합니다. 어떤 도움을 주셔서 감사합니다!
답변1
통신과 관련하여 겪었던 대부분의 접미사 문제는 다음 설정으로 해결되었습니다.
inet_protocols=ipv4
inet_interfaces = all
myhostname = mail.dom.com
smtpd_banner = $myhostname
mydomain = dom.com
myorigin = $mydomain
mydestination = localhost
mynetworks = 127.0.0.0/8
또한 /etc/hosts에도 있습니다.
127.0.0.1 localhost
127.0.0.1 mail.dom.com alias
192.168.1.100 mail.dom.com alias
99.222.33.44 mail.dom.com alias # YOUR ISP assigned IP
또한 postfix가 /etc/hosts에 설정한 모든 도메인을 수신할 수 있도록 inet_interfaces = all을 선택해야 합니다.