NEW Nmail PHP 3 업그레이드 할인
자세히 보기

SPF 레코드 조회 및 설정

PASSKOREA 2007.01.24 12:48 조회 41185

SPF 레코드는 메일 발송 IP 를 DNS 에 미리 설정해두는 발신자 인증 기법입니다.

 

SPF 레코드 조회 방법

 

Windows 10/11 에서는 [시작] 메뉴에서 'cmd' 입력후, '명령 프롬프트'를 실행해주세요.

(Linux 서버는 SSH 접속후 nslookup 명령 실행 가능)

 

메일 주소가 nmail@passkorea.net 인 경우, passkorea.net 도메인의 SPF 레코드를 조회하는 nslookup 명령입니다.

 

nslookup -type=txt passkorea.net

 

 

응답 결과를 구성 요소별로 분리해보면 아래와 같습니다.

구성 요소 설명
v=spf1 SPF 레코드 등록을 알려주는 시작 문자열
ip4:211.170.106.72

메일 발송 IP는 ip4: 문자열과 IP 를 합쳐서 입력.

2개 이상일 경우 띄어쓰기 필요

-all

ip4 에 등록된 IP 외엔 메일 수신을 차단(-all)하도록 안내.

차단 대신 메일을 수신해서 스팸 분류할 경우 "~all" 로 물결표(~) 사용.

 

 

SPF 레코드 작성 방법

 

메일 발송 IP 가 1.2.3.4 이고, 해당 IP 이외에는 스팸 분류(~all)할 경우의 예시입니다.

 

v=spf1 ip4:1.2.3.4 ~all

 

SPF 레코드 작성시 자주 발견되는 오류입니다.

 

1. ip4: 와 IP 사이에 공백이 들어가는 등의 띄어쓰기 잘못 입력.    예시) v=spf1 ip4: 1.2.3.4 ~all 

2. 메일 발송 IP는 공인 IP를 입력해야 하나,  사설 IP를 입력하는 경우.    예시) 192.168.x.x / 10.x.x.x / 172.16.x.x

3. 워드 등 에서 물결표(~)나 하이픈(-)을 복사해온 경우, 특수기호로 잘못 입력될 수 있습니다.  ~, - 삭제후 키보드로 직접 입력 필요.

4. 스팸 서버를 통해 발송되도록 별도 구성된 경우, 메일 서버가 아닌 실제 메일이 발송되는 스팸 서버 IP를 등록해야 합니다.

 

 

DNS 서버에 SPF 레코드 등록 및 수정 방법

 

도메인 등록기관에서 도메인 등록 정보(whois)를 조회하여,

네임서버(Name Server) 확인을 통해 DNS 관리 위치를 확인합니다.

 

도메인 등록기관, 호스팅사의 [DNS 관리]

외부 DNS 서비스를 이용하는 경우, 해당 사이트에 방문후 [DNS 관리] 등 에서 등록해주시면 됩니다.

 

참고) 카페24 호스팅 - 네임서버(DNS) 관리

* TXT 관리가 아닌 'SPF 관리'가 별도로 있습니다.

 

 

Windows DNS 에서 TXT 레코드 등록하기

 

 

nmail@passkorea.net 주소를 사용하므로 '레코드 이름'은 생략합니다.

 

등록된 TXT 는 다음과 같으며, 메일 서버 IP가 변경되면 ip4: 부분만 수정하면 됩니다.

 

 

Linux DNS 에서 TXT 레코드 등록하기

 

named 서비스는 zone 파일에 TXT 항목 추가후 재시작해주시면 됩니다.

 

vi /var/named/passkorea.net.zone

        IN      MX      10 mail
       IN TXT "v=spf1 ip4:211.170.106.72 ~all"

 

 

Windows/Linux DNS 직접 운영시 방화벽에서 해외망 차단 금지

 

DNS 서버를 사내/IDC에서 직접 운영하시는 경우, 방화벽에서 보안상 해외망 접근을 차단하시는 경우가 있습니다.

이 경우 구글 등 해외 DNS를 이용하는 메일서버에서는 SPF 레코드 조회가 불가능하게 됩니다.

 

특히 gmail.com 으로 메일 발송시 SPF 레코드가 없다고 차단될 수 있습니다.

 

550-5.7.26 Your email has been blocked because the sender is unauthenticated.
550-5.7.26 Gmail requires all senders to authenticate with either SPF or DKIM.
550-5.7.26
550-5.7.26 Authentication results:
550-5.7.26 DKIM = did not pass
550-5.7.26 SPF [example.com] with ip: [1.2.3.4] = did not pass
550-5.7.26
550-5.7.26 For instructions on setting up authentication, go to
550 5.7.26 https://support.google.com/mail/answer/81126#authentication

 

해외망에서 DNS 조회 가능 여부는 nslookup 명령 마지막에 8.8.8.8 구글 DNS를 추가해서 조회하면 됩니다.

 

예시) nslookup -type=txt 회사도메인 8.8.8.8

 

참고) 구글 DNS에서 응답이 실패한 경우

 

 

 
고객지원
 
SPF 레코드 작성시 어려움이나, 정상 등록 여부 확인이 필요하신 경우 [고객지원 > 문의하기] 로 요청 주시면 됩니다.
 
패스코리아넷은 자체 점검툴을 통해 5개 이상 국내/해외 ISP 의 DNS에서 정상 응답 여부를 점검해드리고 있습니다.

이전 글 PHP의 mail() 함수를 통해 메일발송이 안될때의 해결방법 PASSKOREA 2007.02.28
다음 글 Nmail PHP Uninstall / 엔메일 삭제 방법 PASSKOREA 2007.01.22