메일서버의 로그를 확인 해 봤도, 받았다는 로그가 보이지 않는다.
한 하루 반정도 지나니까 리턴메일이 왔다.
This is an automatically generated Delivery Status Notification THIS IS A WARNING MESSAGE ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. Delivery to the following recipient has been delayed: test@test.com Message will be retried for 2 more day(s) Technical details of temporary failure: Google tried to deliver your message, but it was rejected by the server for the recipient domain xxxxxxxxxxxxxx. [xxx.xxx.xxx]. The error that the other server returned was: 454 TLS missing certificate: error:0200100D:system library:fopen:Permission denied (#4.3.0) ----- Original message ----- DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; ...
검색해 보니 TLS 셋팅 안되어 있어서 발생한 문제.
아마도 저번에 587 포트를 열어 놓은 적이 있는 데, 아마도 그 때문인 것 같다.
이것은 받는 메일서버에 tls 세팅이 제대로 되지 않은경우이다. qmail 의 경우 아래와 같이 해결한다. 1. 모듈확인 #ldd /var/qmail/bin/qmail-smtpd (명령으로 ssl 모듈이 추가되어 있는지 확인후 ) 2. 키를 생성한다. #openssl req -newkey rsa:1024 -x509 -nodes -days 3650 -out /var/qmail/control/servercert.pem -keyout /var/qmail/control/servercert.pem 키 생성시 Common Name 은 도메인명을 정확히 기록한다. #위의 명령어 실행시 나오는 내용 Country Name (2 letter code) [GB]:KR State or Province Name (full name) [Berkshire]:Seoul Locality Name (eg, city) [Newbury]:Jungu Organization Name (eg, company) [My Company Ltd]:Company Organizational Unit Name (eg, section) []:QnA Team Common Name (eg, your name or your server's hostname) []:서버의 설정된 도메인 명. Email Address []:관리자 이메일 3. 권한변경 #chmod 640 /var/qmail/control/servercert.pem 4. 소유자/그룹변경 #chown vpopmail.vchkpw /var/qmail/control/servercert.pem => 혹은 (qmaild.qmail) 5. 복사 #ln -s /var/qmail/control/servercert.pem /var/qmail/control/clientcert.pem 6. ciphers 만들어주기... #openssl ciphers > /var/qmail/control/tlsclientciphers #openssl ciphers > /var/qmail/control/tlsserverciphers pem 파일 내용 확인은 아래와 같다. #openssl x509 -text -noout -in servercert.pem 메일서버를 테스트는... #openssl s_client -crlf -starttls smtp -connect localhost:25 에러 없으면 된다... 아래도 해보자. #telnet localhost 25 ehlo localhost starttls
gmail에서 다시 발송 후 도착 여부 확인.
출처