JavaMail 메일 보내기 방법

4920 단어 JavaMail우편물
본고는 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>
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기