목록개발이야기/이메일시스템 (14)
준호씨의 블로그
sslscan? Command line util for Gathering TLS (previously SSL) information from specific host using openssl. Protocol and ciphers, vulnerability and so on. Installation brew install sslscan starttls SMTP Test $ sslscan --starttls-smtp mx1.hanmail.net:25 Version: 1.11.11-static OpenSSL 1.0.2f 28 Jan 2016 Connected to 211.231.108.46 Testing SSL server mx1.hanmail.net on port 25 using SNI name mx1.h..
요지는 mail.smtp.ssl.protocols 에 "SSLv2Hello SSLv3" 를 지정하는 것이다. 아래 처럼 property 에 추가 하면 된다. props.put("mail.smtp.ssl.protocols", "SSLv2Hello SSLv3"); 만약 SSLv2Hello 를 하지 않고 처음부터 SSLv3 를 사용하려면 SSLv3 만 넣으면 된다. 실행 할 때 VM options 에 아래 내용을 추가 하면 Handshake 과정을 찍어 볼 수 있다. -Djavax.net.debug=ssl,handshake SSLv2 client hello message 를 날린 다음 SSLv3 Handshake 를 하고 있다. main, WRITE: SSLv3 Handshake, length = 175 ma..
imap folder list 조회 할 때 보통 utf7 로 나오는데 이를 java 에서 decode 하는 방법이다. 다른 여러 좋은 라이브러리들이 있겠지만 gnu.inet 의 라이브러리를 사용 해 보자. 라이브러리는 https://maven-repo.evolvis.org/3rdparty/org/gnu/inetlib/1.1.1/ 에서 받을 수 있고 http://www.gnu.org/software/classpathx/inetlib/javadoc/index.html?gnu/inet/imap/UTF7imap.html 에 문서가 있다. maven 으로 바로 가져 올 수 있을 거 같은데 아직 찾지 못했다. UTF7imap class 에 static 함수로 decode 와 encode 가 있으니 따로 객체 생성 ..
아래는 telnet 에서 smtp 포트인 25번 포트로 메일을 바로 발송 하는 과정입니다. 결과 메일을 발송하는 과정은 일단 메일 주소의 도메인의 MX 레코드를 찾는 것부터 시작 됩니다. 메일주소에서 도메인이 daum.net 이라면 dig 명령어나 nslookup 등의 명령어로 MX 레코드가 어떻게 되는지 확인 해 볼 수 있습니다. daum.net 의 경우 mx1~4.daum.net 으로 되어 있음을 알 수 있습니다. (이 정보는 종종 바뀌기도 합니다.) 자 telnet 으로 mx1.hanmail.net 에 접속해 보겠습니다. SMTP 는 기본적으로 25번 프로토콜을 이용합니다. junho85@junho85:~$ telnet mx1.hanmail.net 25 Trying 211.110.65.13... C..