차근차근/이것저것

centOS sendmail에서 gmail로 발송이 안됨. 2

예쁜꽃이피었으면 2017. 1. 4. 15:43

https://support.google.com/mail/answer/81126?p=UnsolicitedIPError&visit_id=1-636190967011566290-3924832081&rd=1


여기대로 하면.. 발송이 되려나..



1. DKIM 적용..


검색어 : centos sendmail "DKIM"


centos dkim ( sendmail dkim-milter ) 설치 운용

http://egloos.zum.com/darkit/v/220492



open-DKIM 설치

https://www.enteroa.com/2016/05/19/open-dkim-%EC%84%A4%EC%B9%98/ ★ 따라해보자





Open-dkim 은 서버에 설치되어 운영 되고 발송되는 메일의 스팸처리 확률을 낮추어 주는 메일 익스텐션 이라고 보면 된다.
사이트를 운영하면서 구글에 대량메일을 보내려면 필수 적이라고 보면 된다.

회원 가입 축하메일등의 짜잘한 부분 말고 ‘ㅅ’a
뭐 안내라든가 그런거 수천통씩 보내야 할때.. 국내에서는 kisarbl 에 화이트IP를 등록하는 방법으로
보내지지만 구글한텐 안통하기 때문에 구글에서 제안한 opendkim을 서버에 설치해서 해결 하는것이다.

 

여기서는 CentOS6 + Sendmail 에 적용 하는 방법을 나열함. ‘ㅅ’a

 

open-DKIM 은 epel 레포지트리에 포함 되어 있어서 yum 으로 설치 할수 있다.

설치는 벌써 끝. ‘ㅅ’a

 

근데 open-DKIM은 설정이 어렵다 ‘ㅅ’a
폴더를 만들고.

>> 폴더 만드는 부분을 넘겨서.. 다시 함.. 꼭 만들 것

그리고 나는 enteroa.kr 대신에 내가 사용할 도메인을 적었다 (soft.com)

mkdir -p /etc/opendkim/keys/soft.com  ->ok

cd /etc/opendkim/keys/soft.com  -> 이동



그다음 DKIM 키를 생성한다.

 >> 폴더를 만든 후 실행하면 잘 됨..



/etc/opendkim.conf 파일에서 KeyTable, SigningTable, ExternalIgnoreList, InternalHosts 주석을 해제 한다.

 

이후 생성한 DKIM 정보를 아래 파일들에 삽입해야 한다 ‘ㅅ’a
/etc/opendkim/KeyTable (키테이블이 사용할 DKIM key를 선언.)

>> default._domainkey.soft.com soft.com:default:/etc/opendkim/keys/soft.com/default.private


/etc/opendkim/SigningTable (사용할 메일주소와 키테이블을 매칭한다.)

>> 이 부분은 잘 몰라서..

*@soft.com default._domainkey.soft.com 이렇게 해두었다.



/etc/opendkim/TrustedHosts 이파일은 sendmail 메일의 access.db 와 기능이 설정법 및 기능이 같다.
즉 DKIM사이닝을 해줄 IP 등을 추가한다. 일반적인 로칼서버 에서의 웹 발송은 127.0.0.1 과 ::1 만 설정하면 되겠다.


>> 로컬에서 메일을 발송하기 때문에 건들지 않았다. 



아래 명령어로 생성된 DKIM 값을 발췌해서.

>> cat /etc/opendkim/keys/soft.com/default.txt


DNS 서버의 zone 파일에서 아래와 같이 TXT 값을 삽입한다. – 괄호랑 주석은 제거한다. ‘ㅅ’a

>>

/etc/named.conf 여기에서 zone파일 위치 확인 할 수 있는 것 같다.

서버에 보니까. /etc/named.caching-nameserver.conf 이 파일 밖에 없다.  

열어보니 /etc/named.rfc1912.zones 이라고 적혀 있다..

그러니까.. /etc/named.zones 은 없고 named.rfc1912.zones은 있은 있어서..

named.rfc1912.zones 맨 마지막에 txt값을 추가 했다.

 





그후 서비스 시작 및 init.d에 등록.

 


 

자 이제 sendmail 에 open-DKIM 연결고리만 만들어 주면 된다 ‘ㅅ’b
/etc/mail/sendmail.mc 파일에 아래와 같은 내용을 삽입한다.

그후에 적용 및 sendmail 재시작.

 >> make /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 이렇게 했을 때 재시작을 하면 실패라고 떴다.

 m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf  로 다시 하니까 실패라고 뜨지 않았다.


잘은 모르겠지만 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf 이게 

sendmail.mc 을 이용해서 sendmail.cf 이 파일을 만드는 것 같다.


 make /etc/mail/sendmail.mc > /etc/mail/sendmail.cf  실행 후  sendmail.cf  파일을 열어보니

/etc/mail/sendmail.mc 를 위해 할 일이 없습니다. 라고 적혀 있었서

위의 문구를 지우고 

# queue directory

0 QueueDirectory=/var/spool/mqueue 

이렇게 적은 후 저장 하였다.


그후에 메일 발송 테스트를 해서 메일 헤더에 DKIM-Signature 부분이 삽입이 되었는지 확인한다 ‘ㅅ’b


>> 하하하하하. 메일 안오네.. 






지메일로 보냈을 때는 안 갔고

네이버로 보냈을 때는 갔다. 근데 받는 사람과 제목이 오지 않았다.. 뭘까.. 텔넷으로 테스트 하면 그런건가...?

그래도 왔으니 원문보기를 눌러서 DKIM-Signature 가 있는지 확인해보자..


Received: (qmail 23601 invoked from network); 4 Jan 2017 06:56:44 -0000

Received: from 10.114.49.222 (HELO crcvmail44-2.nm.naver.com) (10.114.49.222)

  by cmda029-2.nm.naver.com with SMTP; 4 Jan 2017 06:56:44 -0000

Authentication-Results: mx.naver.com;

  spf=none (mx.naver.com: domain of 보낸사람@soft.com does not designate permitted sender hosts) smtp.mailfrom=보낸사람@soft.com

X-Session-IP: 서버주소

Received: from 서버.cafe24.com ([서버주소])

  by crcvmail44-2.nm.naver.com with ESMTP id HU7jj8sZRfGi0KFnrALZWA

  for <받는 사람@naver.com>;

  Wed, 04 Jan 2017 06:56:44 -0000

Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])

by 서버.cafe24.com (8.13.8/8.13.8) with SMTP id v046UXFP006337

for 받는사람@naver.com; Wed, 4 Jan 2017 15:56:23 +0900

Authentication-Results: 서버.cafe24.com; dkim=permerror (bad message/signature format)

Date: Wed, 4 Jan 2017 15:56:23 +0900

From: 보낸사람@soft.com

Message-Id: <201701040656.v046UXFP006337@서버.cafe24.com>

X-Authentication-Warning: 서버.cafe24.com: localhost.localdomain [127.0.0.1] didn't use HELO protocol

X-Naver-ESV: wq+n+6J4p635WrlY7BwdpBmmFoErFA3YkXm=


rkskkdflksdlewlr <- 내가 보낸 내용




dkim=permerror (bad message/signature format)

X-Authentication-Warning: 서버.cafe24.com: localhost.localdomain [127.0.0.1] didn't use HELO protocol

dkim 은 뭔가 에러가 있는 것 같고..

didn't use HELO protocol 이건 계속 있음... 



/etc/rc.d/init.d/opendkim restart 이거한번 해봄..ㅋㅋㅋ안감..




반응형