java郵件模板
㈠ java發送html模版的郵件
你可以找一封完整的廣告郵件,然後轉發,接著選擇代碼模式查看,你就可以修改廣告的內容
㈡ 用java寫一個美觀的郵件界面
06年的sun科技日的時候,sun的演講團,講師沈卓立拿這個做了一個例子。主要的美觀處理還是多層的貼圖效果,如果誰有源碼也可以送我一份。這個個人覺得有點難度……
至於簡單郵件收發,例子到處都是,我這里現在有個正用的發生例子。接收就是處理pop3,然後拆分郵件體和郵件標題,附件等一些功能。
private MimeMessage mimeMsg; // MIME郵件對象
private Session sessions; // 郵件會話對象
private Properties props; // 系統屬性
private boolean needAuth = false; // smtp是否需要認證
private String username = ""; // smtp認證用戶名和密碼
private String password = "";
private Multipart mp; // Multipart對象,郵件內容,標題,附件等內容均添加到其中後再生成MimeMessage對象
public SendMail() {
// setSmtpHost(getConfig.mailHost);//如果沒有指定郵件伺服器,就從getConfig類中獲取
createMimeMessage();
}
public SendMail(String smtp) {
setSmtpHost(smtp);
createMimeMessage();
}
public void setSmtpHost(String hostName) {
if (props == null)
props = System.getProperties(); // 獲得系統屬性對象
props.put("mail.smtp.host", hostName); // 設置SMTP主機
}
public boolean createMimeMessage() {
try {
sessions = Session.getDefaultInstance(props, null); // 獲得郵件會話對象
} catch (Exception e) {
e.printStackTrace();
return false;
}
try {
mimeMsg = new MimeMessage(sessions); // 創建MIME郵件對象
mp = new MimeMultipart();
return true;
} catch (Exception e) {
System.err.println("創建MIME郵件對象失敗!" + e);
return false;
}
}
public void setNeedAuth(boolean need) {
if (props == null)
props = System.getProperties();
if (need) {
props.put("mail.smtp.auth", "true");
} else {
props.put("mail.smtp.auth", "false");
}
}
public void setNamePass(String name, String pass) {
username = name;
password = pass;
}
public boolean setSubject(String mailSubject) {
try {
mimeMsg.setSubject(mailSubject);
return true;
} catch (Exception e) {
System.err.println("設置郵件主題發生錯誤!");
return false;
}
}
public boolean setBody(String mailBody) {
try {
BodyPart bp = new MimeBodyPart();
bp.setContent(
"<meta http-equiv=Content-Type content=text/html; charset=gb2312>"
+ mailBody, "text/html;charset=GB2312");
mp.addBodyPart(bp);
return true;
} catch (Exception e) {
System.err.println("設置郵件正文時發生錯誤!" + e);
return false;
}
}
public boolean setFrom(String from) {
try {
mimeMsg.setFrom(new InternetAddress(from)); // 設置發信人
return true;
} catch (Exception e) {
return false;
}
}
public boolean setTo(String to) {
if (to == null)
return false;
try {
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
.parse(to));
return true;
} catch (Exception e) {
return false;
}
}
public boolean setCopyTo(String to) {
if (to == null)
return false;
try {
mimeMsg.setRecipients(Message.RecipientType.CC,
(Address[]) InternetAddress.parse(to));
return true;
} catch (Exception e) {
return false;
}
}
public boolean sendout() {
try {
mimeMsg.setContent(mp);
mimeMsg.saveChanges();
Session mailSession = Session.getInstance(props, null);
Transport transport = mailSession.getTransport("smtp");
transport.connect((String) props.get("mail.smtp.host"), username,password);
transport.sendMessage(mimeMsg, mimeMsg
.getRecipients(Message.RecipientType.TO));
// transport.send(mimeMsg);
transport.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
㈢ 如何用java實現發送html格式的郵件
首先Java發送郵件需要用到JavaMail,先到Oracle官網上下載好最新版本的JavaMail(剛才看了一下,最新是1.5.3),把下載的這個jar文件放到classpath里(如果是Web項目,就放到WEB-INF/lib目錄下。
JavaMail主要支持發送純文本的和html格式的郵件。
發送html格式的郵件的一個常式如下:
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeUtility;
importjavax.mail.Session;
importjavax.mail.MessagingException;
importjavax.mail.Transport;
publicclassSendHtmlMail{
publicstaticvoidsendMessage(StringsmtpHost,
Stringfrom,Stringto,
Stringsubject,StringmessageText)
throwsMessagingException,java.io.UnsupportedEncodingException{
//Step1:Configurethemailsession
System.out.println("Configuringmailsessionfor:"+smtpHost);
java.util.Propertiesprops=newjava.util.Properties();
props.setProperty("mail.smtp.auth","true");//指定是否需要SMTP驗證
props.setProperty("mail.smtp.host",smtpHost);//指定SMTP伺服器
props.put("mail.transport.protocol","smtp");
SessionmailSession=Session.getDefaultInstance(props);
mailSession.setDebug(true);//是否在控制台顯示debug信息
//Step2:Constructthemessage
System.out.println("Constructingmessage-from="+from+"to="+to);
InternetAddressfromAddress=newInternetAddress(from);
InternetAddresstoAddress=newInternetAddress(to);
MimeMessagetestMessage=newMimeMessage(mailSession);
testMessage.setFrom(fromAddress);
testMessage.addRecipient(javax.mail.Message.RecipientType.TO,toAddress);
testMessage.setSentDate(newjava.util.Date());
testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));
testMessage.setContent(messageText,"text/html;charset=gb2312");
System.out.println("Messageconstructed");
//Step3:Nowsendthemessage
Transporttransport=mailSession.getTransport("smtp");
transport.connect(smtpHost,"webmaster","password");
transport.sendMessage(testMessage,testMessage.getAllRecipients());
transport.close();
System.out.println("Messagesent!");
}
publicstaticvoidmain(String[]args){
StringsmtpHost="localhost";
Stringfrom="[email protected]";
Stringto="[email protected]";
Stringsubject="html郵件測試";//subjectjavamail自動轉碼
StringBuffertheMessage=newStringBuffer();
theMessage.append("<h2><fontcolor=red>這倒霉孩子</font></h2>");
theMessage.append("<hr>");
theMessage.append("<i>年年失望年年望</i>");
try{
SendHtmlMail.sendMessage(smtpHost,from,to,subject,theMessage.toString());
}
catch(javax.mail.MessagingExceptionexc){
exc.printStackTrace();
}
catch(java.io.){
exc.printStackTrace();
}
}
}
JavaMail是封裝了很多郵件操作的,所以使用起來不很困難,建議你到JavaMail官網看一下API或下載Java Doc API文檔。
㈣ 怎樣用java發送郵件
首先下載 JavaMail jar 包,並導入到項目中。下載地址
編寫代碼,代碼如下:
importjavax.mail.Authenticator;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.PasswordAuthentication;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.AddressException;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
publicclassApp45{
publicstaticvoidmain(String[]args)throwsAddressException,MessagingException{
Propertiesproperties=System.getProperties();
properties.setProperty("mail.smtp.host","郵件發送伺服器");
properties.setProperty("mail.smtp.auth","true");
Sessionsession=Session.getDefaultInstance(properties,newAuthenticator(){
@Override
(){
//設置發件人郵件帳號和密碼
("郵件帳號","密碼");
}
});
MimeMessagemessage=newMimeMessage(session);
//設置發件人郵件地址
message.setFrom(newInternetAddress("發件人郵件地址"));
//設置收件人郵件地址
message.addRecipient(Message.RecipientType.TO,newInternetAddress("收件人郵件地址"));
message.setSubject("這里是郵件主題。");
message.setText("這里是郵件內容。");
Transport.send(message);
}
}
㈤ 如何用javamail定時發送郵件 詳細03
Java 計時器框架的本身在這里不作過多的介紹,詳細信息在IBM developerWorks 中國網站。 我們主要討論如何利用Java 計時器框架在Solaris 平台來實現郵件的定時發送、JavaMail 發送郵件的實現以及在Solaris 平台上如何以後台方式運行整個郵件定時發送的應用。 下載本文的源代碼,參考具體實現。 1.1 形成schele.jar 包 schele.jar 包中的目錄結構如下: 我們將資料庫的連接、日誌、郵件和計劃框架的通用類形成一個與具體應用要求無關的schele.jar 包。利用 javac 將編譯生成的目標 class 文件存在當前目錄的 classes 文件夾下,然後通過 jar -cvf schele.jar ./*命令生成schele.jar 包。 1.1.1 Oracle 資料庫連接的建立 位於db 目錄下,通過thin 方式建立與Oracle 的資料庫連接,具體的實現參見《J2EE 應用中與Oracle 資料庫的連接》一文。 1.1.2 日誌 以後台方式定時運行的應用應特別注意日誌的功能,因為只有通過分析詳細的日誌信息才能准確掌握應用的執行情況。在logs 目錄下為Logs.java 文件,代碼如下: package com.j2ee.logs; import java.io.*; import java.util.*; import java.text.SimpleDateFormat; public class Logs { private String logType=""; private String server="/schele/logs/server.log"; private String task="/schele/implements/nohup.out"; private SimpleDateFormat dateFormat = new SimpleDateFormat("【 yyyy 年MM月dd 日 E a HH:mm:ss 】"); /** * @param logType server task */ public Logs(String logType) { this.logType=logType; } public void print(String msg) { try { String path=""; if (logType.equals("server")) path=server; if (logType.equals("task")) path=task; // BufferedWriter out = new BufferedWriter(new FileWriter(path,true)); String str=dateFormat.format(new Date()); if (logType.equals("task")) out.newLine(); out.write(str,0,str.length()); out.write(msg,0,msg.length()); out.newLine(); out.close(); } catch(Exception e) { System.out.println("Logs.print:"+e.getMessage()); } } }; 通過類中的構造器,可以生成兩個日誌文件:server.log 和nohup.out。server.log 用來記錄計時器框架本身定時調度的日誌信息,通過它來判斷定時調度服務每天是否正常運行;nohup.out 用來記錄在具體應用中的調試信息,例如:在應用中通過System.out.println()輸出的信息將記錄在nohup.out 文件中。 1.1.3 郵件 位於mail 目錄下,包括以下一些文件: 1)Debug.java 發送郵件時的調試信息 2)EMailContents.java 郵件的正文,為了使郵件接受者對收到的郵件有一個好的視覺效果,可以先寫一個統一的HTML 郵件模板,在模板中填充相應的內容。EmailContents 類完成這一功能。效果如下: 3)Mailer.java 發送郵件的主方法。它調用MailThread 類中的方法創建一個發送郵件的線程。 4)MailThread.java 發送郵件線程類。它調用MailHelper 中的方法來完成發送郵件的工作。 5)MailHelper.java 發送郵件的實現類。在類的createAndSendMail 方法中包括了發送郵件一系列必須的過程,它可以完成一些郵件的正文、附件、抄送、回執等功能。在郵件的實現中用到了兩個jar 包:mail.jar 和activation.jar。 1.1.4 計劃框架 計劃框架的詳細內容可以通過本文前面提供的連接去詳細了解,本文該部分的代碼也出自IBM網站。 1.2 郵件定時發送的實現 這部分主要用到前面schele.jar 中的類來實現與具體應用要求相適應的應用。在implements 目錄下有三個類: 1)ScheleTask.java 包含一個main 方法,在本例中"每天計劃3 點開始執行計劃好的任務"。 2)ScheleThread.java 線程類,在該類的 run 方法中,可以添加不同類型的計劃定時執行的任務類來完成不同的定時執行的任務,在本例中調用了Mails 類中的sendMail 方法來定時發送郵件。 3)Mails.java 按照一定的業務邏輯規則實現郵件的發送。 1.3 郵件定時發送應用的運行 包括應用的啟動和停止,在Solaris 上我們可以編寫兩個腳本:start 和stop 來完成該工作。 1.3.1 Start 腳本 Start 腳本內容如下: echo '************************************************************' CLASSPATH=.:/schele/implements/jar/schele.jar: /schele/implements/jar/classes12.zip: /schele/implements/jar/mail.jar:/schele/implements/jar/activation.jar export CLASSPATH echo 'set schele running environment success.' nohup java com.j2ee.implement.ScheleTask & echo 'start schele task success.' echo 'view logs:' echo ' /schele/implements/nohup.out' echo ' /schele/logs/server.log' date >> /schele/logs/server.log echo '計劃框架成功啟動' >> /schele/logs/server.log echo '************************************************************' 這里有兩個關鍵點:CLASSPATH 的設置和 nohup 運行方式。在 CLASSPATH 中必須提供用到的所有 jar 包,多個jar 包用":"分隔;"&"表示以後台方式運行,"nohup"使應用的運行不依賴於當前的會話,如果不以"nohup"方式的話,即" java com.j2ee.implement.ScheleTask &",當你關閉你當前的會話時,應用將終止運行。可以使用"ps -ef | grep java"來查看應用運行的進程號。 當然也可以通過手工交互的方式完成上述步驟來運行應用。 1.3.2 Stop 腳本 Stop 腳本內容如下: echo '************************************************************' ps -e | grep java >> ps.out kill -9 `cut -c 2-6 ps.out` rm ps.out date >> /schele/logs/server.log echo '計劃框架成功停止' >> /schele/logs/server.log echo 'stop schele task success.' echo '************************************************************' 該腳本中主要通過" ps -e | grep java"命令將輸出信息重定向到"ps.out"文件中,在從文件中獲得進程號,然後將它kill 掉。同樣也可以通過手工的方式將它kill。 一般的問題在SUN 中國的技術社區都能找的到的 建議你去看看. 這篇是切過來的 你可以去SUN 中國技術社區下載具體實例 使用JSP開發WebMail 系統 電子郵件(E-mail)是Internet 上使用最廣泛的服務之一,傳統的Email 應用模式基於C/S 結構,即用戶使用客戶端的郵件收發工具(如Outlook、Foxmail 等)與提供郵件服務的伺服器(如163.net、263.net、 371.net)通信,在使用客戶端郵件工具之前,用戶要進行一些必要的設置,如指定郵件伺服器的主機地址和通信埠等,這些工作對剛開始上網的用戶會有一定的困難,如果把E-mail 和Web 結合在一起,即通過Web 編程和適當的系統設置,使用戶僅僅以訪問Web 的方式就可以得到和使用完整的郵件服務,這樣將極大地方便上網用戶,這種系統稱為WebMail。WebMail 是目前Internet 上最受歡迎的服務之一,也是很多網站必備功能之一。另外WebMail 同樣也適用於企業或校園網的應用。 通常在後台伺服器的搭建和設置完成後實現WebMail 系統,而前台的開發工作主要是開發工具與後台資料庫和郵件伺服器的交互問題。在Linux 平台上運行的各種伺服器軟體穩定性和可靠性一直很好,而且選擇跨平台的Java 開發工具使系統更穩定,具有更高的伸縮性。 JSP性能 盡管JSP 提供強大的功能是建立在Servlet 之上,但JSP 的性能和Servlet 相差無幾。JSP 首先要編譯成Servlet,這只會增加少量的代碼,僅需編譯一次且可以預編譯,這就消除了運行時花費不必要的負擔。JSP 與Servlet 性能上的差異僅僅表現在返回的數據是二進制的。這是因為JSP 返回時用的是 PrintWriter,而Servlet 可以應用於速度更快的OutputStream。 JSP 自定義的標簽庫可以封裝大量的、復雜的Java 操作在一個Form裡面,這些預先定義好的標簽可以很容易的被那些沒有Java 知識的人調用。因此,JSP 自定義的標簽庫可以有效地實現Java 程序員和 Web 設計人員工作的劃分。然而,在頁面上應用的每一個標簽,Web 容器都必須創建一個新的標簽句柄對象或從標簽緩沖中提取它。因此,過多的應用自定義的標簽將會帶來不必要的資源浪費。 BodyTags 是一種特殊的定製標簽,可以提取在它之間封裝的內容或者替換那些內容。BodyTags 之間的內容一般會備份在內存中。由於BodyTags 之間能夠嵌套和重復,因此,在程序中應用了多級的 BodyTags 會佔用大量寶貴的內存和系統資源。 實現WebMail 的主要功能 該系統提供了獲取、閱讀、書寫、轉發、回復、列印、刪除及用戶管理的功能。考慮到系統的跨平台性,採用Java 及相關技術產品為開發工具,特別是採用JSP 作為服務程序,這樣對客戶端也沒有其它要求,同時系統的性能在高負荷下得到進一步提高。整個WebMail 系統全部採用純Java 代碼,伺服器端每響應一個服務請求啟動一個線程,而不像CGI 那樣啟動一個進程。這樣能夠節省系統資源,提高系統性能。
㈥ java 郵件發送 為什麼不能運行成功 代碼如下
你都沒有設置郵件伺服器....這句錯誤就是你沒有設置郵件伺服器或者你的用戶名密碼不正確
下面是我原來寫的代碼請參考:
首先是郵件模板的讀取工具類
[java]viewplain
packagegamutsoft.mail.test;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassReadHTML{
/**
*@paramargs
*/
//publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
(){
//Stringinfo="";
StringBufferbuff=newStringBuffer();
InputStreamReaderin=null;
BufferedReaderbr=null;
Stringpath=System.getProperty("user.dir")+"/src/html/email2.html";
Filefile=newFile(path);
try{
in=newInputStreamReader(newFileInputStream(file));
br=newBufferedReader(in);
Stringline=null;
while((line=br.readLine())!=null){
//System.out.println(line);
buff.append(line).append(" ");
}
}catch(FileNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
if(in!=null){
try{
in.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
if(br!=null){
try{
br.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
returnbuff.toString();
}
}
郵件的html模板:
email2.html(亂寫的不喜勿噴)
[html]viewplain
<html>
<head>
<metahttp-equiv="content-type"content="text/html;charset=UTF-8">
</head>
<body>
<h4>您好:</h4>
<ahref="http://www.163.com">網易</a>
<br>
歡迎光臨,呵呵呵呵呵呵呵呵額
<br>
十分感謝
<h4>您好:</h4>
<ahref="http://www.163.com">網易</a>
<br>
歡迎光臨,呵呵呵呵呵呵呵呵額
<br>
十分感謝
<h4>您好:</h4>
<ahref="http://www.163.com">網易</a>
<br>
歡迎光臨,呵呵呵呵呵呵呵呵額
<br>
十分感謝
<h4>您好:</h4>
<ahref="http://www.163.com">網易</a>
<br>
歡迎光臨,呵呵呵呵呵呵呵呵額
<br>
十分感謝
<h4>您好:</h4>
<ahref="http://www.163.com">網易</a>
<br>
</html>
郵件發送類:這里的郵箱是為了自己的隱私我亂寫了下,如果測試的話還得填寫正確的
[java]viewplain
packagegamutsoft.mail.test;
importjava.io.UnsupportedEncodingException;
importjava.util.Date;
importjava.util.Properties;
importjavax.mail.Address;
importjavax.mail.Authenticator;
importjavax.mail.BodyPart;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.Multipart;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeBodyPart;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeMultipart;
publicclassMailTest1{
publicstaticvoidsend()throwsMessagingException,UnsupportedEncodingException{
Stringinfo=ReadHTML.reMailString();
//郵件伺服器
Stringhost="smtp.163.com";
//發件人
Stringfrom="[email protected]";
//收件人
Stringto="[email protected]";
//抄送人
StringtoCC1="[email protected]";
StringtoCC2="[email protected]";
Stringusername="[email protected]";
Stringpassword="51234";
//郵件會話屬性
//Propertiesp=System.getProperties();
Propertiesp=newProperties();
p.put("mail.smtp.host",host);
/*
p.put("mail.smtp.auth","true");
//創建一個密碼驗證器
Authenticatorauth=newMyAuthenticator(username,password);
//獲得Session
Sessionsession=Session.getDefaultInstance(p,auth);
*/
//////////////////sesion獲得Transprot方法
Sessionsession=Session.getDefaultInstance(p,null);
session.setDebug(true);
/////////////////////
//創建Message信息
MimeMessagemessage=newMimeMessage(session);
//創建郵件發送者地址
AddressfromAD=newInternetAddress(from,"李建勛");
//nternetAddress(from)
//設置郵件發送者
message.setFrom(fromAD);
//創建郵件的接收地址
AddresstoAD=newInternetAddress(to);
//創建抄送人數組
AddresstoCAD1=newInternetAddress(toCC1);
AddresstoCAD2=newInternetAddress(toCC2);
Address[]toCs={toCAD1,toCAD2};
//設置郵件的接收地址
message.setRecipient(Message.RecipientType.TO,toAD);
message.addRecipients(Message.RecipientType.CC,toCs);
//設置發送時間
message.setSentDate(newDate());
//設置主題
message.setSubject("HelloJavaMail44");
/*
//設置消息正文,文本
message.setText("WelcomeToJavaMail");
//設置HTML內容
message.setContent("<ahref='http://www.163.com'>網路</a>","text/html;charset=utf-8");
*/
//MimeMultipart類是一個容器類,包含MimeBodyPart類型的對象
MultipartmainPart=newMimeMultipart();
//創建一個包含HTML內容的MimeBodyPart
BodyPartbody=newMimeBodyPart();
//設置html內容
body.setContent(info,"text/html;charset=utf-8");
//將MimeMultipart設置為郵件內容
mainPart.addBodyPart(body);
message.setContent(mainPart);
///////////////////////sesion獲得Transprot
Transporttransport=session.getTransport("smtp");
transport.connect(host,username,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
//////////////////////
//Transport.send(message);
}
publicstaticvoidmain(String[]args)throwsMessagingException,UnsupportedEncodingException{
//TODOAuto-generatedmethodstub
send();
}
}
接下來是MyAuthenticator類[java]viewplain
packagegamutsoft.mail.test;
importjavax.mail.Authenticator;
importjavax.mail.PasswordAuthentication;
{
/*在使用Authenticator這個抽象類時,我們必須採用繼承該抽象類的方式,並且該繼承類必須具
*有返回PasswordAuthentication對象(用於存儲認證時要用到的用戶名、密碼)getPasswordAuthentication()
*方法。並且要在Session中進行注冊,使Session能夠了解在認證時該使用哪個類。
**/
Stringusername=null;
Stringpassword=null;
publicMyAuthenticator(){
}
publicMyAuthenticator(Stringusername,Stringpassword){
this.username=username;
this.password=password;
}
(){
(username,password);
}
}
㈦ Java發送郵件
本地要 有smtp伺服器,才可以測試 。。。。。。。。。。。。。~
~
~
~~~~~~~~~~~~~~~~~~~~~~~~
㈧ 用java寫一個郵件發送代碼
public boolean mainto()
{
boolean flag = true;
//建立郵件會話
Properties pro = new Properties();
pro.put("mail.smtp.host","smtp.qq.com");//存儲發送郵件的伺服器
pro.put("mail.smtp.auth","true"); //通過伺服器驗證
Session s =Session.getInstance(pro); //根據屬性新建一個郵件會話
//s.setDebug(true);
//由郵件會話新建一個消息對象
MimeMessage message = new MimeMessage(s);
//設置郵件
InternetAddress fromAddr = null;
InternetAddress toAddr = null;
try
{
fromAddr = new InternetAddress(451144426+"@qq.com"); //郵件發送地址
message.setFrom(fromAddr); //設置發送地址
toAddr = new InternetAddress("[email protected]"); //郵件接收地址
message.setRecipient(Message.RecipientType.TO, toAddr); //設置接收地址
message.setSubject(title); //設置郵件標題
message.setText(content); //設置郵件正文
message.setSentDate(new Date()); //設置郵件日期
message.saveChanges(); //保存郵件更改信息
Transport transport = s.getTransport("smtp");
transport.connect("smtp.qq.com", "451144426", "密碼"); //伺服器地址,郵箱賬號,郵箱密碼
transport.sendMessage(message, message.getAllRecipients()); //發送郵件
transport.close();//關閉
}
catch (Exception e)
{
e.printStackTrace();
flag = false;//發送失敗
}
return flag;
}
這是一個javaMail的郵件發送代碼,需要一個mail.jar
㈨ 求java發送郵件的demo例子
//需要的第一個類
importjava.util.Properties;
publicclassMailSenderInfo{
//發送郵件的伺服器的IP和埠
privateStringmailServerHost;
privateStringmailServerPort="25";
//郵件發送者的地址
privateStringfromAddress;
//郵件接收者的地址
privateStringtoAddress;
//登陸郵件發送伺服器的用戶名和密碼
privateStringuserName;
privateStringpassword;
//是否需要身份驗證
privatebooleanvalidate=false;
//郵件主題
privateStringsubject;
//郵件的文本內容
privateStringcontent;
//郵件附件的文件名
privateString[]attachFileNames;
/**
*獲得郵件會話屬性
*/
publicPropertiesgetProperties(){
Propertiesp=newProperties();
p.put("mail.smtp.host",this.mailServerHost);
p.put("mail.smtp.port",this.mailServerPort);
p.put("mail.smtp.auth",validate?"true":"false");
returnp;
}
publicStringgetMailServerHost(){
returnmailServerHost;
}
publicvoidsetMailServerHost(StringmailServerHost){
this.mailServerHost=mailServerHost;
}
publicStringgetMailServerPort(){
returnmailServerPort;
}
publicvoidsetMailServerPort(StringmailServerPort){
this.mailServerPort=mailServerPort;
}
publicbooleanisValidate(){
returnvalidate;
}
publicvoidsetValidate(booleanvalidate){
this.validate=validate;
}
publicString[]getAttachFileNames(){
returnattachFileNames;
}
publicvoidsetAttachFileNames(String[]fileNames){
this.attachFileNames=fileNames;
}
publicStringgetFromAddress(){
returnfromAddress;
}
publicvoidsetFromAddress(StringfromAddress){
this.fromAddress=fromAddress;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetToAddress(){
returntoAddress;
}
publicvoidsetToAddress(StringtoAddress){
this.toAddress=toAddress;
}
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetSubject(){
returnsubject;
}
publicvoidsetSubject(Stringsubject){
this.subject=subject;
}
publicStringgetContent(){
returncontent;
}
publicvoidsetContent(StringtextContent){
this.content=textContent;
}
}
//需要的第二個類
importjavax.mail.*;
{
StringuserName=null;
Stringpassword=null;
publicMyAuthenticator(){
}
publicMyAuthenticator(Stringusername,Stringpassword){
this.userName=username;
this.password=password;
}
(){
(userName,password);
}
}
//需要的第三個類
importjava.util.Date;
importjava.util.Properties;
importjavax.mail.Address;
importjavax.mail.Message;
importjavax.mail.MessagingException;
importjavax.mail.Session;
importjavax.mail.Transport;
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
publicclassSimpleMailSender{
/**
*以文本格式發送郵件
*
*@parammailInfo
*待發送的郵件的信息
*/
publicbooleansendTextMail(MailSenderInfomailInfo){
//判斷是否需要身份認證
MyAuthenticatorauthenticator=null;
Propertiespro=mailInfo.getProperties();
if(mailInfo.isValidate()){
//如果需要身份認證,則創建一個密碼驗證器
authenticator=newMyAuthenticator(mailInfo.getUserName(),
mailInfo.getPassword());
}
//根據郵件會話屬性和密碼驗證器構造一個發送郵件的session
SessionsendMailSession=Session
.getDefaultInstance(pro,authenticator);
try{
//根據session創建一個郵件消息
MessagemailMessage=newMimeMessage(sendMailSession);
//創建郵件發送者地址
Addressfrom=newInternetAddress(mailInfo.getFromAddress());
//設置郵件消息的發送者
mailMessage.setFrom(from);
//創建郵件的接收者地址,並設置到郵件消息中
Addressto=newInternetAddress(mailInfo.getToAddress());
mailMessage.setRecipient(Message.RecipientType.TO,to);
//設置郵件消息的主題
mailMessage.setSubject(mailInfo.getSubject());
//設置郵件消息發送的時間
mailMessage.setSentDate(newDate());
//設置郵件消息的主要內容
StringmailContent=mailInfo.getContent();
mailMessage.setText(mailContent);
//發送郵件
Transport.send(mailMessage);
returntrue;
}catch(MessagingExceptionex){
ex.printStackTrace();
}
returnfalse;
}
}
demo:
publicStringemail;
publicvoidsendCheck(){
Randomrandom=newRandom();
Stringcheck="";
for(inti=0;i<6;i++){
check+=random.nextInt(10);
}
Cookiecookie=newCookie("check",check);
cookie.setMaxAge(3600*2);
cookie.setPath("/");
response.addCookie(cookie);
MailSenderInfomailInfo=newMailSenderInfo();
mailInfo.setMailServerHost("smtp.qq.com");
mailInfo.setMailServerPort("25");
mailInfo.setValidate(true);
mailInfo.setUserName("");//發送者用戶名
mailInfo.setPassword("");//郵箱密碼
mailInfo.setFromAddress("");//發送者郵箱,建議使用qq郵箱
mailInfo.setToAddress("[email protected]");//接收者郵箱
mailInfo.setSubject("歡迎注冊Mlnx論壇新用戶");
mailInfo.setContent("您好! 感謝您注冊寧波Mlnx論壇用戶。 您此次注冊的驗證碼為:"+check
+"。如驗證碼無效,請按頁面提示重新發送。(此驗證碼有效時間為2小時,逾期無效)");
//這個類主要來發送郵件
SimpleMailSendersms=newSimpleMailSender();
sms.sendTextMail(mailInfo);//發送文體格式
}
此外,你還需要一個mail.jar的jar包,網上能下載到。