JavaMail實現(xiàn)郵件發(fā)送的方法
更新時間:2015年04月17日 09:25:35 作者:司青
這篇文章主要介紹了JavaMail實現(xiàn)郵件發(fā)送的方法,實例分析了java實現(xiàn)郵件發(fā)送的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了JavaMail實現(xiàn)郵件發(fā)送的方法。分享給大家供大家參考。具體如下:
下載 activation.jar 和 mail.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 = "@";
}
// 發(fā)送郵件
public boolean sendMail()
{
Properties prop;
Session session;
MimeMessage msg;
try
{
prop = new Properties(); // 存儲連接參數(shù)
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("發(fā)件地址錯誤");
}
if(toAddr == null || toAddr.equals(""))
{
throw new Exception("目標地址錯誤");
}
//設(shè)置源地址
msg.setFrom(new InternetAddress(fromAddr));
//設(shè)置目的地址
msg.setRecipient(Message.RecipientType.TO,new InternetAddress(toAddr));
//設(shè)置主題
msg.setSubject(subject);
Multipart mp = new MimeMultipart(); //郵件內(nèi)容
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setContent(content,"text/html"); // 郵件格式
mp.addBodyPart(mbpContent);
msg.setContent(mp);
msg.setSentDate(new Date());
// 發(fā)送郵件
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>
希望本文所述對大家的java程序設(shè)計有所幫助。
相關(guān)文章
java基本教程之synchronized關(guān)鍵字 java多線程教程
這篇文章主要介紹了java的synchronized原理、synchronized基本規(guī)則、synchronized方法 和 synchronized代碼塊、實例鎖和全局鎖2014-01-01
Spring Boot2.0使用Spring Security的示例代碼
這篇文章主要介紹了Spring Boot2.0使用Spring Security的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
Struts2學(xué)習(xí)教程之Action類如何訪問WEB資源
這篇文章主要給大家介紹了關(guān)于Struts2學(xué)習(xí)教程之Action類如何訪問WEB資源的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04

