javamail使用完全手冊,
發(fā)表時間:2024-06-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]前言:自己的精華的文章太少,真沒“面子”,這片努力爭取爭取吧。1,哪里是開始:初始環(huán)境,安裝好你的j2sdk和你的web服務器,也就是說你的機器應該能夠運行jsp。不能??這里不管2,安裝javamail和jafJavaMail是Sun發(fā)布的用來處理email的API。它可以方便地執(zhí)行一些常用的郵...
前言:
自己的精華的文章太少,真沒“面子”,這片努力爭取爭取吧
。
1,哪里是開始:
初始環(huán)境,安裝好你的j2sdk和你的web服務器,也就是說你的機器應該能夠運行jsp。
不能??
這里不管
2,安裝javamail和jaf
JavaMail是Sun發(fā)布的用來處理email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。 支持pop3,imap,smtp.
雖然JavaMail是Sun的API之一,但它目前還沒有被加在標準的java開發(fā)工具包中(Java Development Kit),
這就意味著你在使用前必須另外下載JavaMail文件。除此以外,你還需要有Sun的JavaBeans Activation Framework (JAF)。
JavaBeans Activation Framework的運行很復雜,在這里簡單的說就是JavaMail的運行必須得依賴于它的支持
去java.sun.com下再兩個zip包(javamail和jaf的)
3,配置
兩個zip解壓到c:(這里是舉例,你的可能不同)
把javamai的mail.jar和jaf的activation.jar加入到環(huán)境變變量中
4,用來發(fā)送email的HTML源代碼
<HTML>
<BODY>
<FORM action="sendmail.jsp" method="post">
<TABLE align="center">
<TR>
<TD width="50%">
To:<BR><INPUT name="to" size="25">
</TD>
<TD width="50%">
From:<BR><INPUT name="from" size="25">
</TD>
</TR>
<TR>
<TD colspan="2">
Subject:<BR><INPUT name="subject" size="50">
</TD>
</TR>
<TR>
<TD colspan="2">
<P>Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA></P>
</TD>
</TR>
</TABLE>
<INPUT type="submit" name="cb_submit" value=" Send ">
<INPUT type="reset" name="cb_reset" value=" Clear ">
</FORM>
</BODY>
</HTML>
5,今天你“發(fā)“了沒有
<%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"
%>
<html>
<head>
<TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>
</HEAD>
<BODY>
<%
try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", "smtp.jspinsider.com");
//用你的smtp服務器代替上面的 < smtp.jspinsider.com >
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<P>Your mail has been sent.</P>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</BODY>
</HTML>
解釋解釋:
屬性對象
JavaMail需要創(chuàng)建一個格式為"mail.smtp.host"的文件用來發(fā)送信息。
Properties props = new Properties ();
props.put("mail.smtp.host", "smtp.jspinsider.com"); 對話對象
所有的基于JavaMail的程序都至少需要一個或全部的對話目標。
Session sendMailSession;
sendMailSession = Session.getInstance(props, null);
傳輸
郵件的傳輸只有送出或受到兩種狀態(tài)。JavaMail將這兩種不同狀態(tài)描述為傳輸和儲存。傳輸將送出郵件,而儲存將收取郵件。
Transport transport;
transport = sendMailSession.getTransport("smtp");
使用JavaMail能為我們節(jié)約大量的時間。JavaMail能代替所有的SMTP的工作。
注意:JavaMail并不能完全的支持所有的郵件發(fā)送收取工作。它目前僅支持IMAP、SMTP和POP3,除此以外你只有等待新的JavaMail版本或自己開發(fā)協(xié)議。
信息對象
信息對象將把你所發(fā)送的郵件真實的反映出來。
Message newMessage = new MimeMessage(sendMailSession);
這就是我們所需要的全部四個對象。下一步將是如何將對象加入到JSP中。