Exim은 다른 서버를 통해 이메일을 보냅니다. 왜?

Exim은 다른 서버를 통해 이메일을 보냅니다. 왜?

우리 웹 서버는 Exim4를 사용하여 이메일을 보내지만 헤더에는 이메일이 다른 서버에서 온 것으로 표시됩니다. 이메일 헤더에는 다음 줄이 있습니다.

electric.net으로 이메일을 보내기 위해 Exim4.conf 파일에는 무엇이 포함될 수 있습니까? 구성에서 이런 일이 발생할 수 있는 곳이 없습니다. 나는 smtp-out4.electric.net이 무엇인지조차 모릅니다.

우리는 서버에서 직접 이메일을 보내고 싶었지만, 설정한 사람이 이메일을 다른 곳으로 보내는 것처럼 보였습니다.

X-Originating-IP: [192.162.216.194]

Received: from 127.0.0.1  (EHLO smtp-out4.electric.net) (192.162.216.194)
  by mta1017.mail.ir2.yahoo.com with SMTPS; Thu, 20 Apr 2017 16:03:43 +0000
Received: from 1d1EYY-0008Hr-TS by out4b.electric.net with emc1-ok (Exim 4.87)
    (envelope-from <www-data@[our domain].com>)
    id 1d1EYY-0008Lj-Vu
    for [recepient]@yahoo.co.uk; Thu, 20 Apr 2017 09:03:42 -0700
Received: by emcmailer; Thu, 20 Apr 2017 09:03:42 -0700
Received: from [our IP] (helo=mail3.[our domain])
    by out4b.electric.net with esmtps (TLSv1.2:DHE-RSA-AES128-SHA:128)
    (Exim 4.87)
    (envelope-from <www-data@mail3.[our domain]>)
    id 1d1EYY-0008Hr-TS
    for [recipient]@yahoo.co.uk; Thu, 20 Apr 2017 09:03:42 -0700

답변1

Exim에는 이런 종류의 문제를 해결하는 방법이 내장되어 있습니다: 주소 테스트 모드.

$ /usr/sbin/exim4 -bt [email protected]
R: domain_literal for [email protected]
R: dnslookup_secure for [email protected]
[email protected]
  router = dnslookup_secure, transport = remote_smtp_secure
  host gmail-smtp-in.l.google.com      [2607:f8b0:400d:c0d::1a] MX=5
  host gmail-smtp-in.l.google.com      [209.85.232.26]          MX=5

이 두 R:줄은 어떤 라우터를 시도하고 있는지 알려주고, 내 구성의 두 번째 줄은 메일이 TLS를 통해 전송되도록 일부 일반적인 TLS 지원 도메인(예: gmail.com)으로 강제 전송됩니다.

다른 컴퓨터의 또 다른 예:

$ /usr/sbin/exim4 -bt [email protected]
R: smarthost for [email protected]
[email protected]
  router = smarthost, transport = remote_smtp_smarthost
  host einstein.home [192.168.65.24]

이 기기는 스마트 호스트를 사용하여 모든 발신 메일을 처리하도록 설정되어 있습니다. smarthost라우터를 사용하고 smarthost를 통해 라우팅하는 것을 볼 수 있습니다 einstein.home.

권한 있는 사용자로 주소 테스트를 실행해야 할 수도 있습니다. 내 설정에는 필요하지 않습니다.

답변2

메일 서버가 스마트 호스트를 사용하도록 구성되었을 수 있습니다.

exim.conf에서 찾으세요:

  transport = remote_smtp
  route_list = * REMOTEHOST

여기서 REMOTEHOST는 호스트 이름 또는 IP 주소입니다.

IP 주소라면 이렇게 하세요.역방향 조회위에. "electric.net" 아래에 답이 있습니다.

또한 ISP가 electric.net 아래의 도메인을 사용하여 DHCP를 통해 구성한 것 중 하나가 있는지 확인하려면 자신의 호스트 이름을 확인하세요.

hostname -A

답변3

도메인 정책이 발신 서버를 허용합니까? 웹 서버에서 메일을 직접 보내도록 허용하면 안 됩니다. 그럴 경우 배달 문제가 발생할 수 있습니다.

지능형 메일러를 사용하여 이메일을 보내도록 Exim4를 설정했을 수 있습니다. 이는 MTA(메일 전송 에이전트)(일반적으로 MX(메일 교환) 서버)를 통해 메일을 전달해야 하는 웹 서버에 대한 올바른 설정입니다. 이 서버에는 귀하의 메일이 스팸통으로 보내지지 않고 배달될 수 있도록 올바른 DNS 항목이 있습니다. 이러한 DNS 항목에는 다음이 포함됩니다.

  • 성공적인 rDNS(역방향 DNS) 확인을 위해 PTR 레코드를 수정하세요. (필수의)
  • 발신 도메인의 SPF 레코드와 메일 서버 DNS 이름입니다. (존중)
  • 보내는 메일에 서명하기 위한 DKIM 레코드 및 구성입니다. (권장되지만 제대로 구현되지 않는 경우가 많습니다.)
  • DMARC 레코드를 사용하면 수신 서버에서 도메인 SPF 및 DKIM 정책을 적용할 수 있습니다(권장되지만 소규모 서버에서는 자주 사용되지 않음).

관련 정보