본문 바로가기
IT/JAVA

Java 로 mail 보내기

by 최고영회 2013. 12. 21.
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

'IT > JAVA' 카테고리의 다른 글

Java ProcessBuilder, Runtime,, linux 에서 사용하기  (0) 2013.12.21
NIO 이용 파일 카피  (0) 2013.12.21
자바 서버 소켓 멀티 쓰레드  (0) 2013.12.21
EJB  (0) 2013.12.21
file download 시 stream  (0) 2013.12.21