목록개발이야기/이메일시스템 (14)
준호씨의 블로그
기본 예제(http://junho85.pe.kr/954) 에 다음과 같이 property 설정을 추가 해 준다. 메일 발송시 STARTTLS 를 지원하는 서버 이면 STARTTLS 를 이용해서 TLS(구 SSL) 암호화를 사용하게 된다. properties.setProperty("mail.smtp.starttls.enable", "true"); 참고 javamail 로 메일 발송 시 SSLv2Hello 이용해서 SSLv3 사용하기. ssl/tls 버전 지정하기. http://junho85.pe.kr/431
기본 예제(http://junho85.pe.kr/954) 에 다음과 같이 Transport.send 함수 두번째 인자로 InternetAddress 배열을 넣어준다. InternetAddress[] toAddress = new InternetAddress[] { new InternetAddress(to) }; Transport.send(message, toAddress); // send 이렇게 지정 해 주지 않으면 message 의 addRecipient 한 정보로 발송하게 된다. header 에 to 헤더를 빼고 싶거나 바꿔서 넣고 싶은 경우 위와 같이 하면 된다.
GNU Mailutils GNU Mailutils curl curl github 사용법이 간단한편이다. curl 은 보통 http 요청 할 때 많이 사용하는데, curl 을 종종 사용하는 사람들 조차도 smtp 가 된다는 사실에 놀라곤 한다. 문제점 수신자가 여러명일 때 한명이라도 실패 하면 모두 실패한다. 보통 수신자가 여러명일 때 rcpt to 2개 중 1개가 실패 해도 발송이 되어야 되는데 curl 에서는 실패한다. https://github.com/curl/curl/issues/2483 이것은 known issue 이다. 2012년 부터 알려진 이슈이지만 아직 수정 되지 않았다. 짬나면 기여해 봐야 겠다. libquickmail libquickmail curl 을 랩핑 해 둔 라이브러리라고 보면 ..
아래 영상은 처음에 찍었던 영상인데 마음에 안들어서 위의 영상으로 새로 찍었음 libcurl 을 이용해서 c 언어에서 smtp 프로토콜을 이용해서 이메일을 발송하는 방법이다. 소스코드는 github 에 올려 두었다. https://github.com/junho85/simple-curl-smtp
신뢰할 수 없는 IP 에서 발송된 이메일은 스팸으로 판정 받기 쉽다. 그렇다면 IP 의 신뢰도를 높이려면 어떻게 해야 할까? 여러가지 기법이 있는데 여기서는 SPF (Sender Policy Framework) 레코드를 이용 해 볼 것이다. test@junho85.pe.kr 주소로 메일을 발송 할 경우 junho85.pe.kr 이라는 도메인으로 메일을 발송하는 서버의 IP 를 junho85.pe.kr 의 TXT 레코드에 기입 해 두는 것이다. 도메인의 설정 변환 권한은 도메인의 주인만 가지고 있기 때문에 스패머가 함부로 조작하기 어렵다. 그렇기 때문에 도메인에 기록된 IP 정보는 메일수신서버가 신뢰할 수 있는 좋은 근거가 된다. 도메인의 레코드 정보를 수정 하는 방법은 상황에 따라 다르지만 여기서는 가비..