exim4가 HELO / EHLO를 보낼 때 보내는 호스트 이름을 어떻게 구성합니까?


12

수신 서버가 HELO 확인을 수행 할 때 시스템의 메일이 거부됩니다. 내 시스템이 잘못된 도메인 이름을 보내고 있다고 생각합니다. exim4를 실행 중입니다. exim4 및 도메인에 대한 검색은 관련없는 결과의 악몽 목록을 생성합니다. 마찬가지로 HELO 거부에 대한 인터넷 검색은 SMTP 인증을 설정해야하는 많은 수의 시야 사용자를 생성합니다. 나는 내 인생 에서이 간단한 질문을 알아낼 수 없습니다 : 어떤 호스트 이름이 exim을 보내고 있으며 어떻게 변경합니까?

불행히도 exim이 전송하는 것을 볼 수 없으므로 직접 디버깅 할 방법이 없습니다. 누군가 가이 문제를 겪고 있기를 바라고 있습니다 :).

답변:


15

오류가 HELO / EHLO 데이터에 대해 불평한다고 가정하면 smtp 전송에서 helo_data 옵션을 사용하려고합니다. 기본값은 $ primary_hostname입니다.

remote_smtp:
    driver = smtp
    helo_data = host.example.com

자세한 내용은 설명서를 참조하십시오 .

그렇지 않은 경우 거부 메시지 예제를 포함하고 싶을 것입니다. 그 뒤에 세 자리 코드와 문자열 만 있습니다.


감사! 데비안 기반 시스템에서 exim4 설정을 변경 하는 방법에 대해 10 분 더 읽은 후 /etc/exim4/exim4.conf.template에서 primary_hostname을 FQDN으로 설정하고 exim4를 다시 시작했습니다. 그 트릭을했다! 호스트 이름이 FQDN과 다르며 minimal_dns를 사용하지 않으므로 원래 문제가 발생했습니다. 또한 수동 링크를 수정해야만 primary_hostname에서 문서를 찾을 수있었습니다 (exim은 너무 Google 휴지통입니다!). 다시 감사합니다!

해당 파일을 업데이트하고 싶지 않을 것입니다. update-exim4.conf --keepcomments를 실행 한 다음 /var/lib/exim4/config.autogenerated를 /etc/exim4/exim4.conf에 복사 한 다음 해당 파일을 수정하는 것이 좋습니다.
David Pashley 2016 년

4

명령

sudo dpkg-reconfigure exim4-config

사용할 기본 호스트 이름을 묻는 메시지가 나타납니다.


3

데비안 (Lenny)에서 호스트 이름을 설정 /etc/hostname했지만 재부팅 할 때까지 인식되지 않는 것을 발견했습니다 .

$ hostname newhostname

즉시 설정합니다 (그러나 재부팅시 손실되므로 두 가지를 수행해야합니다).

exim4는와 동일한 내용을보고하는 것 같으며 uname -n테스트하는 유용한 방법을 찾았습니다.


2

exim이 보내는 호스트 이름은 무엇입니까?

exim4의 로그에서 HELO 이름을 찾을 수 있습니다. exim4 데몬을 중지 한 다음 디버깅이 활성화 된 상태에서 수동으로 다시 시작하십시오.

/usr/sbin/exim4 -bd -d+all 2>&1 | egrep 'HELO|EHLO'

(이 2>&1|egrep 'HELO|EHLO'부분은 선택 사항이며 stderr를 stdout으로 리디렉션 한 다음 로그를로 파이프하여 egrepHELO 또는 EHLO를 포함하는 행을 제외한 모든 항목을 필터링합니다).

이메일을 보내려면 다음과 같은 형식으로 한두 줄이 있어야합니다.

SMTP>> EHLO foobar.example.com

HELO 이름은 foobar.example.com입니다.

이 정보를 제공하는 유용한 온라인 확인 도구와 여러 유용한 도구가 있습니다.

  • https://www.mail-tester.com (하루에 3 번의 무료 이메일 확인);
  • check-auth@verifier.port25.com (무료);
  • mailtest@unlocktheinbox.com (대부분의 피드백은 무료가 아니지만 이러한 목적으로 제공됩니다).

어떻게 바꾸나요?

David가 제안한 전송 파일을 편집하는 대신 exim4 상수 정의 (?)를 사용하고 /etc/exim4/conf.d/main/00_local_settings(분할 구성에서) 예를 들어 이름을 설정합니다 .

REMOTE_SMTP_HELO_DATA=$sender_address_domain

update-exim4.confexim4를 다시 시작하기 전에 실행하는 것을 잊지 마십시오 .

/etc/exim4/exim4.conf.template에서 primary_hostname […]을 설정했습니다.

David가 언급했듯이 이것은 아마도 최선의 아이디어가 아닙니다. 분할 구성에서 다음을 추가하여 기본 호스트 이름을 설정할 수 있습니다

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

에서 /etc/exim4/conf.d/main/00_local_settings. 모 놀리 식 exim4 구성에 있는 것 같습니다PRIMARY_HOST_NAME .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.