javamail使用完全手册,<参考网上内容,进行了整理和组织>

发表于:2007-07-04来源:作者:点击数: 标签:
前言: 自己的精华的文章太少,真没“面子”,这片努力争取争取吧 。 1,哪里是开始: 初始环境,安装好你的j2sdk和你的web 服务器 ,也就是说你的机器应该能够运行jsp。 不能?? 这里不管 2,安装javamail和jaf JavaMail是Sun发布的用来处理email的API。它可
前言:
自己的精华的文章太少,真没“面子”,这片努力争取争取吧



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的运行必须得依赖于它的支持
去java.sun.com下再两个zip包(javamail和jaf的)
3,配置
两个zip解压到c:(这里是举例,你的可能不同)
把javamai的mail.jar和jaf的activation.jar加入到环境变变量中
4,用来发送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,今天你“发“了没有
<%@ 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需要创建一个格式为"mail.smtp.host"的文件用来发送信息。

Properties props = new Properties ();

props.put("mail.smtp.host", "smtp.jspinsider.com"); 对话对象

所有的基于JavaMail的程序都至少需要一个或全部的对话目标。

Session sendMailSession;

sendMailSession = Session.getInstance(props, null);

传输

邮件的传输只有送出或受到两种状态。JavaMail将这两种不同状态描述为传输和储存。传输将送出邮件,而储存将收取邮件。

Transport transport;

transport = sendMailSession.getTransport("smtp");

使用JavaMail能为我们节约大量的时间。JavaMail能代替所有的SMTP的工作。

注意:JavaMail并不能完全的支持所有的邮件发送收取工作。它目前仅支持IMAP、SMTP和POP3,除此以外你只有等待新的JavaMail版本或自己开发协议。

信息对象

信息对象将把你所发送的邮件真实的反映出来。

Message newMessage = new MimeMessage(sendMailSession);

这就是我们所需要的全部四个对象。下一步将是如何将对象加入到JSP中。






原文转自:http://www.ltesting.net