首页 > 开发 > Java > 正文

javamail使用完全手册,

2024-07-13 09:54:53
字体:
来源:转载
供稿:网友
前言:
自己的精华的文章太少,真没“面子”,这片努力争取争取吧



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中。






发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表