목록email (17)
준호씨의 블로그
JavaMail API 로 eml 파일 파싱하는 방법을 정리 해 본다. 간단히 요역하자면, FileInputStream 으로 파일 불러와서 MimeMessage 만들 때 인자로 넣어주면 된다. 다음 예제를 보자. File emlFile = new File("src/main/resources/mail.eml"); Properties props = System.getProperties(); Session mailSession = Session.getDefaultInstance(props, null); // parse eml file InputStream inputStream = new FileInputStream(emlFile); MimeMessage message = new MimeMessage(mailS..
기본 예제(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 헤더를 빼고 싶거나 바꿔서 넣고 싶은 경우 위와 같이 하면 된다.
아래 영상은 처음에 찍었던 영상인데 마음에 안들어서 위의 영상으로 새로 찍었음 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 정보는 메일수신서버가 신뢰할 수 있는 좋은 근거가 된다. 도메인의 레코드 정보를 수정 하는 방법은 상황에 따라 다르지만 여기서는 가비..