back end/java

[java] hMailServer를 사용한 메일 전송 방법

노루아부지 2022. 11. 9. 14:48
반응형

 

 

Windows 이메일 서버 hMailServer 설치하는 방법

hMailServer는 Windows 전용 오픈소스(무료) 이메일 서버입니다. IMAP, POP3, SMTP등 다양한 이메일 프로토콜을 지원합니다. hMailServer는 자체적으로 MS SQL Compat Edition을 사용하여 데이터를 저장할 수도 있지

yjh5369.tistory.com

 

 

Windows에 hMailServer를 설치했으니 이제 메일을 보내봐야 하는데요. java로 메일을 전송하는 방법은 다음과 같습니다.

저는 maven, gradle 중 gradle을 사용했는데, build.gradle에 다음과 같이 javax.mail을 추가합니다.

implementation group: 'com.sun.mail', name: 'javax.mail', version: '1.6.2'

 

그 다음 다음과 같이 코드를 작성합니다.

public void sendMail() throws UnsupportedEncodingException, MessagingException {
  String host = "hMailServer가 설치된 IP";
  String user = "admin@mail.test.com";  // 이메일 주소
  String password = "비밀번호";
  Properties props = new Properties();
  props.put("mail.smtp.starttls.enable", "true");
  props.put("mail.smtp.host", host);
  props.put("mail.smtp.port", 25);
  props.put("mail.smtp.auth", "true");

  Session session = Session.getDefaultInstance(props, null);

  Message msg = new MimeMessage(session);
  msg.setFrom(new InternetAddress("보내는 사람 이메일 주소", "Example.com Admin"));
  msg.addRecipient(Message.RecipientType.TO,
    new InternetAddress("받는 사람 이메일 주소", "Mr. User"));

  msg.setSubject("Your Example.com account has been activated");
  msg.setText("This is a test");
  
  Transport transport = session.getTransport("smtp");
  transport.connect(host, user, password);
  transport.sendMessage(msg, msg.getAllRecipients());
  
  transport.close();
}
728x90
반응형
loading