⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsp与java mail api----源码下载网.htm

📁 JavaMail的应用程序合集 jsp的java 的
💻 HTM
📖 第 1 页 / 共 5 页
字号:
            Java 1.1,它没有 Java.net 类别。<BR>要使用 Authenticator,先创建一个抽象类的子类,并从 
            getPasswordAuthentication() 方法中返回 PasswordAuthentication 
            实例。创建完成后,您必需向 session 注册 Authenticator。然后,在需要认证的时候,就会通知 
            Authenticator。您可以弹出窗口,也可以从配置文件中(虽然没有加密是不安全的)读取用户名和密码,将它们作为 
            PasswordAuthentication 
            对象返回给调用程序。<BR>  ·Javax.mail.Transport:消息发送的最后一部分是使用 Transport 
            类。这个类用协议指定的语言发送消息(通常是 SMTP)。它是抽象类,它的工作方式与 Session 有些类似。仅调用静态 send() 
            方法,就能使用类的 缺省 
            版本:Transport.send(message);或者,读者也可以从针对自己的协议的会话中获得一个特定的实例,传递用户名和密码(如果不必要就不传),发送消息,然后关闭连接。 
            <BR>  ·Javax.mail.Store:Store类实现特定邮件协议上的读、写、监视、查找等操作。通过Javax.mail.Store类可以访问Javax.mail.Folder类。<BR>  ·Javax.mail.Folder:Folder类用于分级组织邮件,并提供照Javax.mail.Message格式访问email的能力。 
            <BR><BR>  怎样使用JavaScript/" target="_blank"&gt;JS</A>P发送email? 
            <BR><BR>  下面我们通过一个简单的例子,来说明在JavaScript/" 
            target="_blank"&gt;JS</A>P中邮件是如何发送的。该例由两个文件组成。一个是HTML文件,用来建立邮件信息(包括发送人、接收人、主题等)的表单,并将表单内容发送给JavaScript/" 
            target="_blank"&gt;JS</A>P文件;另外一个是JavaScript/" 
            target="_blank"&gt;JS</A>P页面,负责邮件的发送。 <BR><BR>
            <TABLE style="WIDTH: 519px; HEIGHT: 684px" cellSpacing=0 
            cellPadding=0 width=519 bgColor=#ffffff border=0>
              <TBODY>
              <TR>
                <TD>HTML文件<BR><HTML><BR><BODY><BR><FORM action="sendmail.jsp" 
                  method="post"><BR><TABLE align="center"><BR><TR><BR><TD 
                  width="50%"><BR>To:<BR><INPUT name="to" 
                  size="25"><BR></TD><BR><TD width="50%"><BR>From:<BR><INPUT 
                  name="from" size="25"><BR></TD><BR></TR><BR><TR><BR><TD 
                  colspan="2"><BR>Subject:<BR><INPUT name="subject" 
                  size="50"><BR></TD><BR></TR><BR><TR><BR><TD 
                  colspan="2"><BR><P>Message:<BR><BR><TEXTAREA name="text" 
                  rows=25 cols=85></TEXTAREA> 
                  <BR></P><BR></TD><BR></TR><BR></TABLE><BR><INPUT type="submit" 
                  name="cb_submit" value=" Send "><BR><INPUT type="reset" 
                  name="cb_reset" value=" Clear 
                  "><BR></FORM><BR></BODY><BR></HTML> 
            </TD></TR></TBODY></TABLE><BR>  JavaScript/" 
            target="_blank"&gt;JS</A>P页面的作用就是获得表单提交过来的数据,并将这些数据赋给Java Mail 
            API中相应的对象,最后完成邮件发送。 <BR><BR>
            <TABLE style="WIDTH: 488px; HEIGHT: 795px" cellSpacing=0 
            cellPadding=0 width=488 bgColor=#ffffff border=0>
              <TBODY>
              <TR>
                <TD>sendmail.jsp文件<BR><%@ page import=" Javax.mail.*, 
                  Javax.mail.internet.*, 
                  Javax.activation.*,Java.util.*"%><BR><html><BR><head><BR><TITLE>JavaScript/" 
                  target="_blank"&gt;JS</A>P meets JavaMail, what a sweet 
                  combo.</TITLE><BR></head><BR><body><BR><%<BR>try{<BR>Properties 
                  props = new Properties();<BR>Session sendMailSession;<BR>Store 
                  store;<BR>Transport transport; <BR><BR>sendMailSession = 
                  Session.getInstance(props, 
                  null);<BR>props.put("mail.smtp.host", 
                  "smtp.jspinsider.com");<BR>Message newMessage = new 
                  MimeMessage(sendMailSession);<BR>newMessage.setFrom(new 
                  InternetAddress(request.getParameter("from")));<BR>newMessage.setRecipient(Message.RecipientType.TO, 
                  new InternetAddress ( request.getParameter 
                  ("to")));<BR>newMessage.setSubject(request.getParameter("subject"));<BR>newMessage.setSentDate(new 
                  Date());<BR>newMessage.setText(request.getParameter("text"));<BR>transport 
                  = 
                  sendMailSession.getTransport("smtp");<BR>transport.send(newMessage);<BR>%><BR><P>Your 
                  mail has been sent.</P><BR><%<BR>}catch(MessagingException 
                  m)<BR>{<BR>out.println(m.toString());<BR>}<BR>%><BR></body><BR></html> 
                </TD></TR></TBODY></TABLE><BR>  如何发送HTML类型的邮件 
            <BR><BR>  在上面的例子中,我们实现了如何发送文本格式的邮件,那么HTML格式的邮件该如何发送呢?那就看看下面的例子吧。<BR>  该例由四个文件组成:<BR>  ·form.htm:用来建立邮件信息的表单<BR>  ·send.jsp:用来获取表单提交的信息,并调用mymail.mail.HTML.send()方法发送邮件<BR>  ·StringDataSource.Java:用户自定义的JavaBean,用来将邮件的Body部分转化为HTML格式<BR>  ·HTML.Java:用户自定义的JavaBean,用来发送HTML格式的邮件。在send.jsp文件中提到的mymail.mail.HTML.send()方法就在该JavaBean中定义。 
            <BR><BR>
            <TABLE style="WIDTH: 494px; HEIGHT: 3546px" cellSpacing=0 
            cellPadding=0 width=494 bgColor=#ffffff border=0>
              <TBODY>
              <TR>
                <TD>form.htm<BR><html><BR><head><BR><meta 
                  http-equiv="Content-Type" content="text/html; 
                  charset=gb2312"><BR><title> JavaMail - 
                  发送HTML邮件</title><BR></head><BR><body><BR><table border="0" 
                  cellspacing="0" cellpadding="0"><BR><form method="post" 
                  action="send.jsp"><BR><tr><BR><td>SMTP主机:</td><BR><td><input 
                  type="text" name="smtp" 
                  size="80"></td><BR></tr><BR><tr><BR><td>发信人:</td><BR><td><input 
                  type="text" name="from" 
                  size="80"></td><BR></tr><BR><tr><BR><td>收信人:</td><BR><td><input 
                  type="text" name="to" 
                  size="80"></td><BR></tr><BR><tr><BR><td>抄送人:</td><BR><td><input 
                  type="text" name="cc" 
                  size="80"></td><BR></tr><BR><tr><BR><td>暗送人:</td><BR><td><input 
                  type="text" name="bcc" 
                  size="80"></td><BR></tr><BR><tr><BR><td>主题:</td><BR><td><input 
                  type="text" name="subject" 
                  size="80"></td><BR></tr><BR><tr><BR><td 
                  valign="top">内容:</td><BR><td><textarea name="body" rows="5" 
                  cols="80"></textarea></td><BR></tr><BR><tr><BR><td colspan="2" 
                  align="center"><input type="submit" 
                  value="发送"></td><BR></tr><BR></form><BR></table><BR></body><BR></html> 
                  <BR><BR>send.jsp<BR><%<BR>//变量声明<BR>Java.lang.String 
                  smtp,from,to,cc,bcc,subject,body; <BR><BR>//获得用户输入数据<BR>smtp = 
                  request.getParameter("smtp");<BR>from = 
                  request.getParameter("from");<BR>to = 
                  request.getParameter("to");<BR>cc = 
                  request.getParameter("cc");<BR>bcc = 
                  request.getParameter("bcc");<BR>subject = 
                  request.getParameter("subject");<BR>if(subject!=null){<BR>subject 
                  = new 
                  Java.lang.String(subject.getBytes("iso-8859-1"));<BR>}<BR>body 
                  = 
                  request.getParameter("body");<BR>//发送邮件<BR>mymail.mail.HTML.send(smtp,from,to,cc,bcc,subject,body);<BR>%> 
                  <BR><BR>mymail.jaf.StringDataSource.Java<BR>package 
                  mymail.jaf;<BR>public class StringDataSource implements 
                  Javax.activation.DataSource<BR>{<BR>private Java.lang.String 
                  data;<BR>  private Java.lang.String type; <BR><BR>    public 
                  StringDataSource(Java.lang.String data,Java.lang.String 
                  type){<BR>        this.data = data;<BR>  this.type = 
                  type;<BR>  } <BR><BR>    public Java.io.InputStream 
                  getInputStream() throws Java.io.IOException{<BR>        return 
                  new Java.io.StringBufferInputStream(data);<BR>} 
                  <BR><BR>  public Java.io.OutputStream getOutputStream() throws 
                  Java.io.IOException{<BR>      throw new 
                  Java.io.IOException("it does not support this method 
                  now!");<BR> } <BR><BR> public Java.lang.String 
                  getContentType(){<BR>          return type;<BR>} 
                  <BR><BR>  public Java.lang.String getName(){<BR>      return " 
                  mymail ";<BR>}<BR>} <BR><BR>mymail.mail.HTML.Java<BR>package 
                  mymail.mail;<BR><BR>public final class HTML<BR>{<BR>public 
                  static void send(<BR>   Java.lang.String smtp,   
                  /*SMTP主机地址*/<BR>   Java.lang.String from,   
                  /*发信人*/<BR>    Java.lang.String to,   
                  /*收信人*/<BR>    Java.lang.String cc,   
                  /*抄送人*/<BR>    Java.lang.String 
                  bcc,  /*暗送人*/<BR>    Java.lang.String subject, 
                  /*主题*/<BR>    Java.lang.String body /*内容*/<BR>        ) throws 
                  Java.lang.Exception<BR>{<BR>   //变量声明<BR>     Java.util.Properties 
                  props;   //系统属性<BR>   Javax.mail.Session 
                  mailSession;   //邮件会话对象<BR>     Javax.mail.internet.MimeMessage 
                  mimeMsg; //MIME邮件对象 <BR><BR>   //设置系统属性<BR>     props = 
                  Java.lang.System.getProperties(); 
                  //获得系统属性对象<BR>   props.put("mail.smtp.host",smtp); //设置SMTP主机 
                  <BR><BR>     //获得邮件会话对象<BR>   mailSession = 
                  Javax.mail.Session.getDefaultInstance(props,null); 
                  <BR><BR>     //创建MIME邮件对象<BR>   mimeMsg = new 
                  Javax.mail.internet.MimeMessage(mailSession); 
                  <BR><BR>     //设置发信人<BR>   mimeMsg.setFrom(new 
                  Javax.mail.internet.InternetAddress(from)); 
                  <BR><BR>     //设置收信人<BR>   if(to!=null)<BR>{ 
                  <BR>mimeMsg.setRecipients(Javax.mail.Message.RecipientType.TO,Javax.mail. 
                  internet.InternetAddress.parse(to));<BR>     } 
                  <BR><BR>   //设置抄送人<BR>     if(cc!=null)<BR>{<BR>mimeMsg.setRecipients(Javax.mail.Message.RecipientType.CC,Javax.mail. 
                  internet.InternetAddress.parse(cc));<BR>     } 
                  <BR><BR>//设置暗送人<BR>if(bcc!=null)<BR>{ 
                  <BR>mimeMsg.setRecipients(Javax.mail.Message.RecipientType.BCC,Javax.mail. 
                  internet.InternetAddress.parse(bcc));<BR>     } 
                  <BR><BR>   //设置邮件主题<BR>     //mimeMsg.setSubject(subject);<BR>   mimeMsg.setSubject(subject,"gb2312"); 
                  <BR><BR>     //设置邮件内容,将邮件body部分转化为HTML格式<BR>   mimeMsg.setDataHandler(new 
                  Javax.activation.DataHandler(new mymail.jaf. StringDataSource 
                  (body,"text/html"))); 
                  <BR><BR>   //发送邮件<BR>     Javax.mail.Transport.send(mimeMsg);<BR> }<BR>} 
                </TD></TR></TBODY></TABLE></FONT><BR>[page_break]  如何实现消息和标志的删除? 
            <BR><BR>  消息的删除涉及到与消息相关的 Flags(标志)。不同 flag 
            表示不同的状态,有些标志由系统定义,而有些则由用户自己定义。下面列出在内部类 Flags.Flag 
            中预定义的标志:<BR>  ·Flags.Flag.ANSWERED <BR>  ·Flags.Flag.DELETED 
            <BR>  ·Flags.Flag.DRAFT <BR>  ·Flags.Flag.FLAGGED 
            <BR>  ·Flags.Flag.RECENT <BR>  ·Flags.Flag.SEEN 
            <BR>  ·Flags.Flag.USER 
            <BR>  上述这些标志只是标准定义,并不意味着所有邮件服务器或供应商都支持所有这些标志。例如,除了删除消息标志外,POP 
            协议不再支持其它任何标志。检查是否存在新邮件,这不是个 POP 任务,而是内建于邮件客户机的任务。为找出哪些标志能被支持,可以用 
            getPermanentFlags() 向 folder 提出请求。<BR>  要删除消息,您可以设置消息的 DELETED 
            flag:<BR>  message.setFlag(Flags.Flag.DELETED, true);<BR>  首先,请以 
            READ_WRITE 模式打开 
            folder:<BR>  folder.open(Folder.READ_WRITE);<BR>  然后,当所有消息的处理完成后,关闭 
            folder,并传递一个 true 值,从而擦除(expunge)有 delete 
            标志的消息。<BR>  folder.close(true);<BR>  一个 Folder 的 expunge() 
            方法可以用来删除消息。但 Sun 的 POP3 供应商不支持。其它供应商有的或许能够实现这一功能,而有的则不能。IMAP 
            供应商极有可能实现此功能。因为 POP 只支持单个对邮箱的访问,对 Sun 的供应商来说,您必需关闭 folder 
            以删除消息。<BR>  要取消标志,只要传递 false 给 setFlag() 方法就行了。想知道是否设置过标志,可以用 
            isSet() 检查。 <BR><BR>  如何实现认证? <BR><BR>  想必读者已经知道 ,如果需要可以用一个 
            Authenticator 提示用户输入用户名和密码,而不是将用户名和密码作为字符串传递。在这里您会明确了解怎样更充分的使用Java 
            Mail API的认证机制。<BR>  不用主机、用户名和密码与 Store 相连接,而是设置 Properties 
            来拥有主机,然后告诉 Session 自定义的 Authenticator 实例,如下所示: <BR><BR>
            <TABLE style="WIDTH: 468px; HEIGHT: 233px" cellSpacing=0 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -