이메일 서버에는 iredmail
. 다음 설정의 이메일 서버가 있습니다.
# /etc/hostname
mail
# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost
따라서 FQDN은 mail.mydomain.com
.
여기내가 사용한 예제를 찾았지만 이 예제에서는 내 서버가 이메일을 보낼 수 있지만 받을 수는 없습니다.
Type Name Value TTL
A @ 195.201.40.1 1 hour # Web server
A mail 195.201.40.2 1 hour # Mail server
MX @ mail.mydomain.com (Priority: 10) 1 hour
TXT @ v=spf1 ip4:195.201.40.2 -all 1 hour
TXT @ v=DMARC1; p=reject; sp=reject;... 1 hour
TXT _adsp._domainkey dkim=all
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...
그런 다음 변경했습니다.
MX @ mail.mydomain.com (Priority: 10) 1 hour
에게
MX mail mail.mydomain.com (Priority: 10) 1 hour
메일 서버가 이메일을 받기 시작했습니다.
두 가지 질문 블록이 있습니다.
1) 제가 이해하는 바에 따르면, 외부 이메일 서비스(예: Gmail)는 내 이메일 주소가 이 아닌 이 아닌 mydomain.com
이로 메일을 보냅니다 . 이메일 수신 문제를 해결하기 위해 변경하는 이유는 무엇입니까 ?mail.mydomain.com
[email protected]
[email protected]
@
mail
나는 그 기록을 MX @ mail.mydomain.com
다음과 같이 이해합니다: "외부 이메일 서비스, 다음 주소로 이메일을 보내는 경우[이메일 보호됨](@ = mydomain.com)을 입력한 다음 FQDN mail.mydomain.com"을 사용하여 서버에 이메일을 보내지만 내 논리가 작동하지 않는 것 같습니다. 이유는 무엇입니까?
여기@
호스트 이름이 다른 FQDN을 가질 수 있음을 알 수 있습니다 . 제 경우에는 왜 작동하지 않나요?
2) TXT 레코드의 경우 어떤 이름을 제공해야 합니까? @
또는 mail
, 즉 도메인 이름 또는 호스트 이름? 그렇다면 mail
메일 서버가 10개라면 모든 서버에 대해 자체 TXT 레코드를 만들어야 한다는 뜻인가요?
답변1
귀하의 DNS 레코드를 바인드 형식으로 변환했습니다. 항목을 변경하지 않는 한 항목에 대한 TTL을 지정할 필요가 없습니다.
SPF 레코드를 가장 간단한 형태로 변환했습니다. A
기록 규칙은 SPF 확인을 mail
위한 것입니다 -helo
. 에 대한 규칙은 하위 도메인 www
에서 이메일을 보내서는 안 된다는 것을 나타냅니다 www
.
귀하의 도메인 항목과 하위 도메인이 이어집니다. (MX 레코드 끝에 있는 점을 참고하세요. 점이 없는 경우 를 사용해야 합니다 mail
.)
@ IN A 195.201.40.1
IN MX mail.mydomain.com.
IN TXT "v=spf1 mx -all"
표준 서비스 메일 및 www(일부 브라우저는 항목에 www가 제공되지 않더라도 www를 시도합니다).
mail IN A 195.201.40.2
IN TXT "v=spf1 a -all"
www IN A 195.201.40.1
IN TXT "v=spf1 -all"
보고 기능이 포함된 DMARC 구성입니다. 보고서에 문제가 없다고 나타날 때까지는 정책을 사용하지 않을 것입니다 reject
. 귀하 none
의 정책으로 시작하는 것이 좋습니다 .
_dmarc IN TXT "v=DMARC1; p=reject; sp=reject;..."
*._report.dmarc IN TXT "v=DMARC1"
DKIM에 대한 구성입니다. _adsp
더 이상 표준 트랙에 있지 않은 것 같습니다. dkim
서명할 때 사용하는 키 이름으로 바꾸세요 .
_adsp._domainkey IN TXT dkim=all
dkim._domainkey IN TXT v=DKIM1; k=rsa; p=MIGfMA0GCSq...
답변2
1) 이메일 주소의 호스트 이름 부분에 대한 MX 레코드에 지정된 호스트 이름으로 메일이 전송됩니다. 예를 들어 다음 주소로 메일을 보낼 때[이메일 보호됨], 다음이 발생합니다.
구성된 MX 레코드 중 하나가 gmail.com에 사용됩니다.
# dig mx gmail.com +short | head -n 1
5 gmail-smtp-in.l.google.com.
이메일은 해당 메일 서버의 IP 주소로 전달됩니다.
# dig gmail-smtp-in.l.google.com +short
173.194.221.27
귀하의 경우 초기 구성이 좋아 보이기 때문에 문제가 어떻게 해결되었는지 명확하지 않습니다. 도메인 이름을 담당하는 MX 서버와 공용 DNS를 사용하여 해당 서버가 참조하는 IP 주소를 확인해보세요.
# dig mx mydomain.com @8.8.8.8 +short
mail.mydomain.com
# dig mail.mydomain.com @8.8.8.8 +short
2) SPF 레코드에는 도메인 이름( mail.
부분 제외)을 제공해야 합니다. DKIM 및 DMARC의 경우 접두어도 도메인 이름에 mail.
부분 없이 추가해야 합니다. 예:
TXT _dmarc v=DMARC1; p=reject; sp=reject;...
TXT dkim._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSq...