gmail을 이용한 smtp 설정시 501-5.5.4 EHLO 오류
Posted 2016. 10. 17. 23:11프로젝트 기간중 자체 SMTP를 사용하지 않고 gmail smtp를 이용한 메일발송요청을 받았습니다.
구글링하면 워낙에 많이 나오는 자료라서 흔쾌히 수용했고 로컬에서 쉽게 테스트 완료했습니다.
하지만 서버로 올리고부터 또하나의 삽질은 시작...
정상적인 경우에는 아래와 같은 로그가 찍힙니다.
220 smtp.gmail.com ESMTP 3sm48066013pfo.31 - gsmtp
DEBUG SMTP: connected to host "smtp.gmail.com", port: 465
EHLO my-PC-name
250-smtp.gmail.com at your service, [xxx.xxx.xxx.xxx]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250
SMTPUTF8
하지만 서로에서의 로그는 아래와 같이 나면서 오류 ㅠ.ㅠ;;
EHLO
501-5.5.4 Empty HELO/EHLO argument not allowed, closing connection.
501 5.5.4 https://support.google.com/mail/?p=helo sv8sm48122510pab.18 - gsmtp
HELO
DEBUG SMTP: EOF: [EOF]
error to send Email....
javax.mail.MessagingException: [EOF]
at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1363)
at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:838)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)
...
몇몇 구글링을 해봐도 당췌 알수 없다가... smtp 와 hostname 과의 관계를 구글링하고서야 찾아냈습니다.
꼭 gmail을 이용한 smtp발송에 국한된 것도 아닌, 대부분의 smtp 발송과 관련된 것.
결론은 /etc/hosts 파일을 확인하라는 것입니다.
일부 SE 분들은 hostname 변경시 한두군데만 수정하고 hosts파일을 수정하지 않는 경우가 있습니다.
제 블로그 http://gubok.tistory.com/304 에 보면 hostname 변경시 주의사항이란 글에도 나와있듯이 일부 프로그램에서 hostname을 조회할때 /etc/hosts 파일을 참조하는 경우가 많다고 합니다.
결론 : hostname 이 제대로 다 변경되지 않아서 발생하는 오류라는 것
'개발노트 > JAVA & JSP' 카테고리의 다른 글
.class 파일의 컴파일환경 확인법 (0) | 2019.08.05 |
---|---|
Linux (CentOS 6)에서 java 설치시 문제점(?) (0) | 2013.06.22 |
socket 프로그램과 방화벽은 상극 (0) | 2012.08.16 |
제12회 자바개발자 컨퍼런스(JCO) 발표자료 모음 (0) | 2012.02.23 |
Jacson 을 이용한 복합적인 Json 문자열을 Java Object로 변환하기 (1) | 2012.02.20 |
- Filed under : 개발노트/JAVA & JSP