javax.mail.jar 포함하여사용
SendMailTagLib.html
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="SendMailTagLib.jsp" method="post">
from : <input type="text" size="20" name="from"><br/><br/>
to: <input type="text" size="30" name="to"><br/><br/>
Subject:<input type="text" size="40" name="subject"><br/><br/>
Msg : <textarea name="contents" rows="20" cols="38"></textarea><br/><br/>
<input type="submit" value="Submit">
</form>
</body>
</html>
SendMailTagLib.tld
SendMailTag.java
package com.oraclejava;
import java.io.IOException;
import java.net.PasswordAuthentication;
import java.time.chrono.MinguoEra;
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;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import sun.security.krb5.internal.Authenticator;
public class SendMailTag extends SimpleTagSupport {
private String from="";
private String to="";
private String subject="";
private String contents="";
private String result="";
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
@Override
public void doTag() throws JspException, IOException {
// TODO Auto-generated method stub
super.doTag();
sendMail();
JspWriter out = getJspContext().getOut();
out.println(result);
}
public void sendMail() {
try {
Properties property = new Properties();
property.put("mail.smtp.auth", "true");
property.put("mail.smtp.starttls.enable", "true");
property.put("mail.smtp.host", "smtp.gmail.com");
property.put("mail.smtp.port", "587");
property.put("mail.smtp.debug", "true");
Session session = Session.getInstance(property,
new javax.mail.Authenticator() {
protected javax.mail.PasswordAuthentication getPasswordAuthentication(){
return new javax.mail.PasswordAuthentication("gmailID", "password");
}
});
MimeMessage mimeMessage = new MimeMessage(session);
InternetAddress toAddress = new InternetAddress(to, to);
mimeMessage.setRecipient(Message.RecipientType.TO, toAddress);
InternetAddress fromAddress = new InternetAddress(from, from);
mimeMessage.setFrom(fromAddress);
mimeMessage.setSubject(subject);
mimeMessage.setText(contents);
Transport.send(mimeMessage);
result="메일이 성공적으로 전송되었습니다.";
}
catch (Exception e) {
// TODO: handle exception
System.out.println(e);
result = "편지가 배달되지 못했습니다.";
}
}
}
SendMailTagLib.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ taglib uri="/WEB-INF/SendMailTagLib.tld" prefix="mail" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<mail:sendmail subject='<%=request.getParameter("subject") %>' contents='<%=request.getParameter("contents") %>'
to='<%=request.getParameter("to") %>' from='<%=request.getParameter("from") %>'/>
</body>
</html>
'개발속이야기 > Java' 카테고리의 다른 글
이클립스 (Eclipse)에서 자동 들여쓰기 (Indentation) , Import 지우기 (0) | 2018.01.02 |
---|---|
JSP TAG OlympicTag 예제 (0) | 2018.01.02 |
JSP TAG 예제 (0) | 2018.01.02 |
JSP useBean 예제 (0) | 2018.01.02 |
JSP + Servlet 로그인 로그아웃 예제 (0) | 2018.01.02 |