• java mail을 이용하여 메일 보내기 예제
import java.util.Date;
import java.util.Properties;
import java.util.StringTokenizer;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;




public class ZZZ {
public static void main(String[] args) throws Exception{

String host = "smtp.gimslab.com";
String fromAddr = "from_addr@gimslab.com";
String fromName = "프롬";
String toAddr = "to_addr@gimslab.com";
String toName = "투투";
String subject = "java 에서 보냅니다. java mail";
String content = "안녕하세요 java mail";
String filePathList = "D:/data/도우.gif;D:/xxx/mail.hwp";
String fileNameList = "도우.gif;구글해킹.hwp";

Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true"); // 인증이 필요한 경우

// 첨부파일 확인
StringTokenizer stFileName = new StringTokenizer(filePathList, ";");
StringTokenizer stFileView = new StringTokenizer(fileNameList, ";");
int nNameCnt = stFileName.countTokens();
int nViewCnt = stFileView.countTokens();
if(nNameCnt != nViewCnt){
	log("첨부파일 경로정보와 이름정보가 서로 다릅니다.");
	log("실제파일명 토큰 수/첨부파일명 토큰 수 = " + nNameCnt + "/" + nViewCnt);
	throw new Exception();
}

MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromAddr, fromName, "EUC-KR"));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toAddr, toName, "EUC-KR"));
message.setSubject(subject, "euc-kr");
message.setSentDate(new Date());

MimeMultipart mp = new MimeMultipart();
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setContent(content, "text/html;charset=euc-kr");
mp.addBodyPart(mbp1);

// 파일 첨부
while(stFileName.hasMoreElements()){
	MimeBodyPart mbp2 = new MimeBodyPart();
	FileDataSource fds = new FileDataSource(stFileName.nextToken());
	mbp2.setDataHandler(new DataHandler(fds));
	mbp2.setFileName(new String(stFileView.nextToken().getBytes("KSC5601"), "8859_1"));
	mp.addBodyPart(mbp2);
}

message.setContent(mp);

// 인증이 필요한 경우
Transport transport = session.getTransport("smtp");
transport.connect(host, "USER_ID", "PASSWORD");
transport.sendMessage(message, message.getAllRecipients());
transport.close();

// 인증이 필요없는 경우 단순히 아래 한줄만으로 가능
//Transport.send(message);
}
}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2012-07-26 20:18:08
Processing time 0.0058 sec