Java로 메일 보내기

예전에 Go언어로 메일을 보내는 코드를 작성해 활용한 적이 있었는데, Java로도 가능하다. 당연히! 사용한 라이브러리는 JavaMail이고 이번에 사용한 버전은 1.6.2이다.

전체 코드는 다음과 같다.

package sendMail;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class MainEntry {
    static final String FROM = "GOODMAN@geoservice.co.kr";
    static final String FROMNAME = "지오서비스";
    static final String TO = "heyMan@naver.com";

    static final String SMTP_USERNAME = "GOODMAN@geoservice.co.kr";
    static final String SMTP_PASSWORD = "****";
    
    static final String HOST = "smtp.live.com";
    static final int PORT = 25;
    
    static final String SUBJECT = "메일 제목";
    
    static final String BODY = String.join(
    	System.getProperty("line.separator"),
    	"

메일 내용

", "

이 메일은 아름다운 사람이 보낸 아름다운 메일입니다!

." ); public static void main(String[] args) throws Exception { Properties props = System.getProperties(); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.port", PORT); props.put("mail.smtp.starttls.enable", "true"); props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props); MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(FROM, FROMNAME)); msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO)); msg.setSubject(SUBJECT); msg.setContent(BODY, "text/html;charset=euc-kr"); Transport transport = session.getTransport(); try { System.out.println("Sending..."); transport.connect(HOST, SMTP_USERNAME, SMTP_PASSWORD); transport.sendMessage(msg, msg.getAllRecipients()); System.out.println("Email sent!"); } catch (Exception ex) { ex.printStackTrace(); } finally { transport.close(); } } }

실행해 보고, 메일이 왔나 가밨더니 아래처럼 와있더라.. 북치고 장구치고~ ^^

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다