케이블 모뎀 뒤에 작은 홈 서버 설정이 있습니다 (동료 통신). 이 상자에서 알림 및 기타 사항에 대한 전자 메일 (수신 안 됨)을 보낼 수 있기를 원합니다.
내가 이미 한 일 :
- sendmail을 설치하고 구성했습니다.
- 지시어
mail.bresnan.net
로 추가 했습니다SMART_HOST
.
내가 겪고있는 문제는
이메일을 보내려고 할 때 메일 로그에 다음이 표시됩니다.
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530: from=aburns,
size=140, class=0, nrcpts=1,
msgid=<201012221724.oBMHOHrs001530@bresnan.net>,
relay=aburns@localhost
Dec 22 10:24:17 batcave sm-mta[1531]: oBMHOHWZ001531: from=<aburns@bresnan.net>,
size=397, class=0, nrcpts=1,
msgid=<201012221724.oBMHOHrs001530@bresnan.net>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530:
to=<my@work-address.com>, ctladdr=aburns (1000/1000),
delay=00:00:00, xdelay=00:00:00, mailer=relay,
pri=30140, relay=[127.0.0.1] [127.0.0.1],
dsn=2.0.0, stat=Sent (oBMHOHWZ001531 Message accepted for delivery)
Dec 22 10:24:18 batcave sm-mta[1517]: oBMH9mVv001357:
to=<my@work-address.com>, ctladdr=<aburns@bresnan.net>
(1000/1000), delay=00:14:30, xdelay=00:00:42, mailer=relay,
pri=300339, relay=pmx0.bresnan.net. [69.145.248.1],
dsn=4.0.0, stat=Deferred: Connection timed out with pmx0.bresnan.net.
sendmail 서버가 메시지를 전달할 수있는 위치를 확인한 다음 bresnan의 서버로 전달을 시도하고 시간 초과되는 위치를 확인할 수 있습니다.
이것은 내 질문이있는 곳입니다. 어리석은 독자는 pmx0.bresnan.net
내가 SMART_HOST
지시어를 설정 하지 않은 것을 알 수 있습니다. 이것은 MX
bresnan.com/net 도메인 의 (외부?) 서버입니다. 분명히 bresnan은 자신의 네트워크 내에서이 서버에 액세스 할 수없고 대신 mail.bresnan.net
서버 (연결할 수있는) 를 사용해야하도록 네트워크를 구성했습니다 . 문제는 sendmail에게 도메인 이 아닌 이 서버 를 사용하도록 지시하는 방법을 모른다는 것입니다 .
내가 시도한 것
- pmx0 서버가 메일 IP 주소를 가리 키도록 호스트 항목 설정 sendmail이 MX 쿼리를 수행하여 IP를 반환하는 서버를 찾기 때문에 분명히 작동하지 않으므로 ‘정상적인’DNS 확인을 수행 할 필요가 없으므로 호스트 파일이 관련되지 않습니다.
수정 사항 (모든 발신 메일) :
다시 소품은 이것을 배우는 데 도움이되도록 webmin (아래 참고 참조)으로갑니다. sendmail이 MX 조회를하지 않도록 지시하는 대괄호와 함께 스마트 호스트를 입력하면, define('SMART_HOST','[69.145.248.18]')
(따옴표-> 백틱 수정) 실제로 메일러 테이블없이 작동합니다.
수정 (특정 도메인의 경우) :
아래에서 지적했듯이 설정 mailertable
이 필요합니다. 그러나 man page 에서 지적했듯이이 기능은 sendmail.mc
파일 에서도 활성화해야 합니다.
또한 메일러 라우트는 sendmail이 모든 작업에 지정된 서버를 사용하도록 강제하지는 않으며받는 사람의 주소를 기반으로합니다. 몇 개의 도메인 (gmail, google 호스트 및 내 작업)으로 만 보내면되므로 이것은 실제로 괜찮습니다.
요약 :
- 추가
FEATURE('mailertable')
사용자에게sendmail.mc
파일. (첫 번째 인용 부호는 백틱이어야합니다. /etc/mail/mailertable
파일 만들기 ( man page 참조 )- 맵 파일을 작성하십시오.
sudo makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
- 구성 재 구축
make -C /etc/mail
- sendmail을 다시 시작하십시오.
service sendmail restart
참고 : 나는 매우 / 편집에 Webmin은을 사용하는 것이 좋습니다 이러한 파일을 다시 빌드합니다. 그것 없이는 mailertable 파일이 무시되는 이유를 알아 내려고 미쳤다.
답변
sendmail /etc/mail/mailertable
파일에 짧은 항목을 추가하여 MX 조회를 해결할 수 있습니다 .
파일의 내용은 아마도 다음과 같은 한 줄을 가져야합니다 :
bresnan.net esmtp:[69.145.248.18]
파일을 저장하고 sendmail을 다시 시작하십시오 (또는 수동으로 수행해야하는 경우 sendmail.cf를 다시 빌드하십시오).