JavaMail 메일 보내기 방법
activation을 다운로드합니다.jar와 메일.jar
CLASSPATH를 구성하고 위의 두 개의jar 패키지를 CLASSPATH에 추가합니다.
JavaBean : "SendEmail.java"
package cls;
import java.util.Date;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail
{
String host;
String username;
String password;
String fromAddr;
String toAddr;
String subject;
String content;
public SendEmail()
{
//
host = "smtp.qq.com";
username = "";
password = "";
fromAddr = "@";
}
//
public boolean sendMail()
{
Properties prop;
Session session;
MimeMessage msg;
try
{
prop = new Properties(); //
prop.put("mail.smtp.host",host);
prop.put("mail.smtp.auth","true");
session = Session.getDefaultInstance(prop,null);
// Session
msg = new MimeMessage(session); //
//
if(fromAddr == null || fromAddr.equals(""))
{
throw new Exception(" ");
}
if(toAddr == null || toAddr.equals(""))
{
throw new Exception(" ");
}
//
msg.setFrom(new InternetAddress(fromAddr));
//
msg.setRecipient(Message.RecipientType.TO,new InternetAddress(toAddr));
//
msg.setSubject(subject);
Multipart mp = new MimeMultipart(); //
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setContent(content,"text/html"); //
mp.addBodyPart(mbpContent);
msg.setContent(mp);
msg.setSentDate(new Date());
//
Transport transport = session.getTransport("smtp");
transport.connect((String)prop.get("mail.smtp.host"),username,password);
transport.sendMessage(msg,msg.getRecipients(MimeMessage.RecipientType.TO));
transport.close();
return true;
}
catch(Exception e)
{
System.out.println(e);
return false;
}
}
// getter and setter
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getHost()
{
return host;
}
public void setHost(String host)
{
this.host = host;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getFromAddr()
{
return this.fromAddr;
}
public void setFromAddr(String addr)
{
fromAddr = addr;
}
public String getToAddr()
{
return this.toAddr;
}
public void setToAddr(String addr)
{
toAddr = addr;
}
public String getSubject()
{
return subject;
}
public void setSubject(String sub)
{
subject = sub;
}
public String getContent()
{
return content;
}
public void setContent(String content)
{
this.content = content;
}
}
sendmail.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Mail</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<center>
<jsp:useBean id="email" class="cls.SendEmail" scope="page" />
<jsp:setProperty name="email" property="toAddr" value="host" />
<jsp:setProperty name="email" property="fromAddr" value="host" />
<jsp:setProperty name="email" property="username" value="username" />
<jsp:setProperty name="email" property="password" value="password" />
<jsp:setProperty name="email" property="subject" value="mail test" />
<jsp:setProperty name="email" property="content" value="hello world"/>
<%=email.sendMail() %>
</center>
</body>
</html>
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.