IT/JAVA

Java 로 mail 보내기

최고영회 2013. 12. 21. 12:30
728x90
반응형
SMALL

java를 이용해서 email을 보내는 방법은 아래와 같다. 다만 선행되어야 하는 사항은 필요한 라이브러리를 함께 설치하는 것이 되겠다.

1. Apahe Commons Email
http://jakarta.apache.org/site/downloads/downloads_commons-email.cgi

2. javamail
http://java.sun.com/products/javamail/downloads/index.html

3. JavaBeans Activation Framework 
http://java.sun.com/products/javabeans/glasgow/jaf.html

4. smtp daemon
http://www.jsmtpd.org
만약에 PC에 smtp가 설치되어 있지 않다면 이것을 받아서 적당한 곳에 압축을 풀어준후에 etc\jsmtpd-plugin-config.xml의 dnsServers를 실제 사용하고 있는 dns ip로 변경을 해준다. 그래야 도메인명으로 email을 보낼수 있다(당연하지만...).

위의 것들을 다운 받아서 적당한 곳에 설치한다.

SendMaiil.java
package mail;

import java.net.URL;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;

public class SendMail {
    public static void main(String[] args) {
        try {
            //파일을 첨부할때
            EmailAttachment attachment = new EmailAttachment();
            attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));
            attachment.setDisposition(EmailAttachment.ATTACHMENT);
            //attachment.setDescription("Apache logo1");
            attachment.setName("asf_logo_wide.gif");
            
            MultiPartEmail email = new MultiPartEmail();//파일을 함께 보낼때
            //SimpleEmail email1 = new SimpleEmail(); //파일없이 메일만 보낼때
            email.setCharset("euc-kr"); //한글을 사용할때
            email.setHostName("localhost");
            email.addTo("받을사람@받을서버.com", "홍길동");
            email.setFrom("보낸사람@보낸서버.com");
            email.setSubject("한글 메세지");
            email.setMsg("한글이 잘되나???");
            email.attach(attachment);
            String retMessage = email.send();
            System.out.println("send:" + retMessage);
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

728x90
반응형
LIST