메일링 리스트가 제대로 작동하지 않습니다...
/etc/mail/sendmail.mc contains this line
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
/etc/mail/mailertable contains this line
domain1.com esmtp:[10.210.5.22]
나는 설정을 "재컴파일"하기 위해 이것을 실행했습니다.
makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
service sendmail restart
그런 다음 테스트를 보내보세요.
$ mail -s "test email" [email protected]
$ tail -f /var/log/maillog
May 9 10:03:14 npsetl005 sendmail[27779]: p49E3EG0027777: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=120350, relay=www.domain1.com. [172.16.1.47], dsn=4.0.0, stat=Deferred: Connection refused by www.domain1.com.
mailertable.db 파일의 내용
root@npsetl005:/etc/mail$ strings mailertable.db
esmtp:[10.210.5.22]
domain1.com
DNS 및 MX 레코드가 실제로 100% 올바르게 설정되지 않은 내부 네트워크에 이런 어리석은 문제가 있습니다. 변경 권한을 얻고 테스트하는 것은 이 질문의 범위를 훨씬 벗어납니다. 따라서 sendmail이 DNS의 내용을 무시하고 메시지를 내부 릴레이 서버(수십 개의 다른 클라이언트에서 작동함)로 직접 보내길 원합니다. 그렇게하지 않습니다. 주소를 다시 쓰는 것을 볼 수 있습니다.[이메일 보호됨]상위 *.domain1.com이 www.domain1.com의 cname이기 때문입니다(누군가가 가난한 사람의 리디렉션으로 그랬습니다). 따라서 사용자가 존재하지 않는 하위 도메인에 액세스하려고 하면 루트 사이트로 연결됩니다... 알아요, 알아요. )
내가 놓친 게 무엇입니까?
답변1
sendmail 버전을 언급하지 않았습니다. Sendmail이 깨졌습니다...죄송합니다. mailertable의 작동 방식이 버전 8.14에서 변경되었습니다. sendmail-8.14를 사용하여 RHEL6으로 업그레이드할 때 모든 메일 센터가 충돌했습니다. 나는 아직도 그들이 무엇을 바꾸었고 왜 바꾸었는지 정확히 이해하려고 노력하고 있습니다. 하지만 지금까지 나는 두 가지 트릭을 마스터했습니다.
1) virtusertable을 사용하고 virtusertable 항목의 RHS에서 mailertable을 사용하려면 LHS가 새 VirtHost 클래스에 있어야 합니다. 이 문제를 해결하는 데 도움이 되는 VIRTUSER_DOMAIN_FILE 및 VIRTUSER_DOMAIN 매크로가 있습니다.
2) LHS 도메인이 local-hosts-name에 나타나면 메일러 테이블은 사용되지 않습니다.
이 정보가 얼마나 정확한지는 잘 모르겠지만, 이 거대하고 문서화되지 않은 변화에 대한 정보는 거의 없습니다. 아마도 이것이 제 입장에 있는 누군가에게 도움이 될 것입니다.
답변2
에 보냈으나 [email protected]
sendmail이 에 다시 썼습니다 [email protected]
. 메일러 테이블 항목은 하위 도메인을 포함하지 않습니다.
빠른 수정:
mailertable 항목을 추가합니다 www.domain1.com
.
domain1.com에 대한 CNAME 레코드를 사용하고 있습니까?
Sendmail은 CNAME(DNS 별칭)을 "실제" 이름으로 다시 씁니다.