JAVAMAIL使用完全手册
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) javax.mail.Properties 类 JavaMail 需 要 Properties 来 创 建 一 个 session 对 象 。 它 将 寻 找 字 符 串
"mail.smtp.host",属性值就是发送邮件的主机.
用法: Properties props = new Properties (); props.put("mail.smtp.host", "smtp.163.com");// 可 以 换 上 你 的 smtp 主 机
邮件的传输只有送出或受到两种状态。JavaMail 将这两种不同状态描述为传输和储存。传 输将送出邮件,而储存将收取邮件。
Transport transport; transport = sendMailSession.getTransport("smtp"); 使用 JavaMail 能为我们节约大量的时间。JavaMail 能代替所有的 SMTP 的工作。 注意:JavaMail 并不能完全的支持所有的邮件发送收取工作。它目前仅支持 IMAP、SMTP 和 POP3,除此以外你只有等待新的 JavaMail 版本或自己开发协议。 信息对象
用 JavaMail Session 对象的 getTransport 方法来初始化 Transport。传过去的字符 串申明了对象所要使用的协议,如"smtp"。这将为我们省了很多时间。因为 JavaMail 以 境内置了很多协议的实现方法。
注意: JavaMail 并不是绝对支持每一个协议,目前支持 IMAP、 SMTP 和 POP3.
解释解释: 属性对象
JavaMail 需要创建一个格式为"mail.smtp.host"的文件用来发送信息。 Properties props = new Properties (); props.put("mail.smtp.host", "smtp.jspinsider.com"); 对话对象 所有的基于 JavaMail 的程序都至少需要一个或全部的对话目标。 Session sendMailSession; sendMailSession = Session.getInstance(props, null); 传输
%> <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 InternetAddres s(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>
(4) javax.mail.MimeMessage 类 Message 对象将存储我们实际发送的电子邮件信息,Message 对象被作为一个
MimeMesபைடு நூலகம்age 对象来创建并且需要知道应当选择哪一个 JavaMail session。
用法: Message newMessage = new MimeMessage(sendMailSession);
用法: Store store=s.getSorte("pop3");//s 为一个邮件会话 store.connect(popserver,username,password);//通过你提供的 pop 地址,用户名和 密码登录你的邮箱
(7) javax.mail.Folder 类 Folder 类用于分级组织邮件,并提供照 Javax.mail.Message 格式访问 email 的能力。
<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></TEXT AREA></P> </TD> </TR> </TABLE> <INPUT type="submit" name="cb_submit" value=" Send ">
<INPUT type="reset" name="cb_reset" value=" Clear "> </FORM> </BODY> </HTML> 5,今天你“发“了没有 <%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.* "
(5) javax.mail.InternetAddress 类 一旦您创建了 Session 和 Message,并将内容填入消息后,就可以用 Address 确定信件 地 址 了 。 和 Message 一 样 , Address 也 是 个 抽 象 类 。 您 用 的 是 Javax.mail.internet.InternetAddress 类.
信息对象将把你所发送的邮件真实的反映出来。
Message newMessage = new MimeMessage(sendMailSession); 这就是我们所需要的全部四个对象。下一步将是如何将对象加入到 JSP 中。 3.JavaMail 的常用类介绍 事先说明: 没用过 JavaMail 的人可能看不懂这些介绍,不过不要紧,后面的文章有具体的实例,到时也 可倒回来查看这些类的用法.
(9) javax.mail.Internet.MimeBodyPart 类
MimeBodyPart 是 BodyPart 具体用于 mimeMessage 的一个子类.
MimeBodyPart 对象代表一个 MimeMessage 对象内容的一部分.每个 MimeBodyPart 被认为有两部分: ⊙一个 MIME 类型 ⊙匹配这个类型的内容
去 java.sun.com 下再两个 zip 包(javamail 和 jaf 的) 3,配置 两个 zip 解压到 c:(这里是举例,你的可能不同) 把 javamai 的 mail.jar 和 jaf 的 activation.jar 加入到环境变变量中 4,用来发送 email 的 HTML 源代码 <HTML>
Transport 和 Store. Transport 是用来发送信息的,而 Store 用来收信。对于这的教程我 们只需要用到 Transport 对象。
用法: Transport transport;
transport = sendMailSession.getTransport("smtp");
名。
(2) javax.mail.Session 类 这个 Session 类代表 JavaMail 中的一个邮件 session. 每一个基于 JavaMail 的应用
程序至少有一个 session 但是可以有任意多的 session。 在这个例子中, Session 对象需 要知道用来处理邮件的 SMTP 服务器。
用法: Folder folder=store.getFolder("INBOX"); folder.open(Folder.READ_ONLY);
(8) javax.mail.Internet.MimeMultpart 一般保存电子邮件内容的容器是 Multipart 抽象类,它定义了增加和删除及获得电子邮件不 同 部 分 内 容 的 方 法 . 由 于 Multipart 是 抽 象 类 , 我 们 必 须 为 它 使 用 一 个 具 体 的 子 类,JavaMail API 提供 javax.mail.Internet.MimeMultpart 类来使用 MimeMessage 对 象.
用法: MimeMultipart multipart=new MimeMultipart();
注:我们使用 MimeMultipart 对象的一个方法是 addBodyPart(),它在我们的电子邮件内 容里添加 BodyPart(BodyPart 类在下面紧接着要介绍)对象.消息可以有很多部分,一个 BodyPart 可以代表一个部分.
用法: InternetAddress from=new InternetAddress("xxf@cafe.com");
(6) javax.mail.Store 类 Store 类实现特定邮件协议上的读、写、监视、查找等操作。通过 Javax.mail.Store 类可 以访问 Javax.mail.Folder 类。
javamail 使用完全手册
1,哪里是开始: 初始环境,安装好你的 j2sdk 和你的 web 服务器,也就是说你的机器应该能够运行 jsp。 不能??
这里不管
2,安装 javamail 和 jaf JavaMail 是 Sun 发布的用来处理 email 的 API。它可以方便地执行一些常用的邮件传 输。 支持 pop3,imap,smtp. 虽然 JavaMail 是 Sun 的 API 之一,但它目前还没有被加在标准的 java 开发工具包中 (Java Development Kit), 这就意味着你在使用前必须另外下载 JavaMail 文件。除此以外,你还需要有 Sun 的 JavaBeans Activation Framework (JAF)。 JavaBeans Activation Framework 的运行很复杂,在这里简单的说就是 JavaMail 的运 行必须得依赖于它的支持
用法: Session sendMailSession; sendMailSession = Session.getInstance(props, null);
(3) javax.mail.Transport 类 邮件是既可以被发送也可以被受到。JavaMail 使用了两个不同的类来完成这两个功能: