`
jacally
  • 浏览: 772269 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javax.mail使用例子 转载

    博客分类:
  • JAVA
阅读更多

http://www.blogjava.net/pdw2009/archive/2007/10/08/151180.html

java 代码
  1.   
  2. package pg.system;   
  3.   
  4. /**  
  5.  * @author pdw  
  6.  *  
  7.  * TODO 发送邮件!  
  8.  *   
  9.  */  
  10. import java.util.*;   
  11. import javax.mail.*;   
  12. import javax.mail.internet.*;   
  13. import javax.activation.*;   
  14. import java.security.spec.X509EncodedKeySpec;   
  15.   
  16. public class SendMail {   
  17.     public MimeMessage mimeMsg;  //要发送的email信息   
  18.     private Session session;   
  19.     private Properties props;   
  20.     private boolean needAuth=false;   
  21.        
  22.     private String username="";   
  23.     private String password="";   
  24.        
  25.     private Multipart mp;  //存放邮件的title 内容和附件   
  26.        
  27.     public SendMail(String stmp){   
  28.         setSmtpHost(stmp);   
  29.         createMimeMessage();   
  30.     }   
  31.     /**  
  32.      *   
  33.      * @param hostName  
  34.      */  
  35.     public void setSmtpHost(String hostName){   
  36.         System.out.println("mail.stmp.host= "+hostName);   
  37.         if(props==null){   
  38.             props=System.getProperties();   
  39.         }   
  40.         props.put("mail.smtp.host",hostName);   
  41.     }   
  42.        
  43.     public boolean createMimeMessage(){   
  44.         try{   
  45.             System.out.println("Session begin-----------");   
  46.             session=Session.getInstance(props,null);   
  47.         }catch(Exception e){   
  48.             System.out.println("Session.getInstance faild!"+e);   
  49.             return false;   
  50.         }   
  51.         System.out.println("MimeMEssage begin---------!");   
  52.         try{   
  53.             mimeMsg=new MimeMessage(session);   
  54.             mp=new MimeMultipart();   
  55.             return true;   
  56.         }catch(Exception e){   
  57.             System.out.println("MimeMessage fiald! "+e.toString());   
  58.             return false;   
  59.         }   
  60.     }   
  61.     /**  
  62.      *   
  63.      * @param need  
  64.      */  
  65.     public void setNeedAuth(boolean need){   
  66.         System.out.println(":mail.smtp.auth="+need);   
  67.         if(props==null){   
  68.             props=System.getProperties();   
  69.         }   
  70.         if(need){   
  71.             props.put("mail.smtp.auth","true");   
  72.         }   
  73.         else{   
  74.             props.put("mail.smtp.auth","false");   
  75.         }   
  76.     }   
  77.     /**  
  78.      *   
  79.      * @param name  
  80.      * @param pass  
  81.      */  
  82.     public void setNamePass(String name,String pass){   
  83.         username=name;   
  84.         password=pass;   
  85.     }   
  86.     /**  
  87.      *   
  88.      * @param mailSubject  
  89.      * @return boolean  
  90.      */  
  91.     public boolean setSubject(String mailSubject){   
  92.         System.out.println("set title begin.");   
  93.         try{   
  94.             if(!mailSubject.equals("")&&mailSubject!=null){   
  95.                 mimeMsg.setSubject(mailSubject);   
  96.             }   
  97.             return true;   
  98.         }catch(Exception e){   
  99.             System.out.println("set Title faild!");   
  100.             return false;   
  101.         }   
  102.     }   
  103.     /**  
  104.      *  添加附件..  
  105.      * @param filename  
  106.      * @return  
  107.      */  
  108.     public boolean addFileAffix(String filename){   
  109.         System.out.println("增加附件..");   
  110.         if(filename.equals("")||filename==null){   
  111.             return false;   
  112.         }   
  113.         String file[];   
  114.         file=filename.split(";");   
  115.         System.out.println("你有 "+file.length+" 个附件!");   
  116.         try{   
  117.             for(int i=0;i<file.length;i++){   
  118.                 BodyPart bp=new MimeBodyPart();   
  119.                 FileDataSource fileds=new FileDataSource(file[i]);   
  120.                 bp.setDataHandler(new DataHandler(fileds));   
  121.                 bp.setFileName(fileds.getName());   
  122.                 mp.addBodyPart(bp);   
  123.              }   
  124.              return true;   
  125.            }catch(Exception e){   
  126.              System.err.println("增加附件: "+filename+"--faild!"+e);   
  127.              return false;   
  128.         }   
  129.    }   
  130.     /**  
  131.      *   
  132.      * @param from  
  133.      * @return  
  134.      */  
  135.     public boolean setFrom(String from){   
  136.         System.out.println("Set From .");   
  137.         try{   
  138.             mimeMsg.setFrom(new InternetAddress(from));   
  139.             return true;   
  140.         }catch(Exception e){   
  141.             return false;   
  142.         }   
  143.     }   
  144.     /**  
  145.      *   
  146.      * @param to  
  147.      * @return  
  148.      */  
  149.     public boolean setTo(String to){   
  150.         System.out.println("Set to.");   
  151.         if(to==null||to.equals("")){   
  152.             return false;   
  153.         }   
  154.         try{   
  155.             mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));   
  156.             return true;   
  157.         }catch(Exception e){   
  158.             return false;   
  159.         }   
  160.     }   
  161.     public boolean setCopyTo(String copyto){   
  162.         if(copyto.equals("")||copyto==null){   
  163.             return false;   
  164.         }   
  165.         try{   
  166.             String copy[];   
  167.             copy=copyto.split(";");   
  168.             for(int i=0;i<copy.length;i++){   
  169.                 mimeMsg.setRecipients(Message.RecipientType.TO,(Address[])InternetAddress.parse(copy[i]));   
  170.             }   
  171.             return true;   
  172.         }catch(Exception e){   
  173.             return false;   
  174.         }   
  175.     }   
  176.        
  177.        
  178.     /**  
  179.      * 设置信的内容!  
  180.      * @param mailBody  
  181.      * @return boolean  
  182.      */  
  183.     public boolean setBody(String mailBody){   
  184.         try{   
  185.             BodyPart bp=new MimeBodyPart();   
  186.             bp.setContent("<meta http-equiv=Context-Type context=text/html;charset=gb2312>"+mailBody,"text/html;charset=GB2312");   
  187.             mp.addBodyPart(bp);   
  188.             return true;   
  189.         }catch(Exception e){   
  190.             System.out.println("Set context Faild! "+e);   
  191.             return false;   
  192.         }   
  193.     }   
  194.     /**  
  195.      *   
  196.      * @param htmlpath  
  197.      * @return boolean  
  198.      */  
  199.     public boolean setHtml(String htmlpath){   
  200.         try{   
  201.             if(!htmlpath.equals("")||htmlpath!=null){   
  202.                 BodyPart mbp=new MimeBodyPart();   
  203.                 DataSource ds=new FileDataSource(htmlpath);   
  204.                 mbp.setDataHandler(new DataHandler(ds));   
  205.                 mbp.setHeader("Context-ID","meme");   
  206.                 mp.addBodyPart(mbp);   
  207.                 }   
  208.                 return true;   
  209.             }catch(Exception  e){   
  210.                 System.err.println("Set Html Faild!"+e);   
  211.                 return false;   
  212.             }   
  213.         }   
  214.      public boolean setOut(){   
  215.          try{   
  216.              mimeMsg.setContent(mp);   
  217.              mimeMsg.saveChanges();   
  218.              System.out.println("正在SendMail.");   
  219.              Session mailSession=session.getInstance(props,null);   
  220.              Transport tp=mailSession.getTransport("smtp");   
  221.              tp.connect((String)props.getProperty("mail.stmp.host"),username,password);   
  222.              tp.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));   
  223.              //tp.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.CC));   
  224.              System.out.println("Send Mail 成功..");   
  225.              tp.close();   
  226.              return true;   
  227.          }catch(Exception e){   
  228.              e.printStackTrace();   
  229.              return false;   
  230.          }   
  231.      }   
  232.           
  233. }   
分享到:
评论

相关推荐

    javax.mail-1.4.4.jar

    通过java扩展包javax.mail-1.4.4.jar实现邮件发送功能。 import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart...

    基于Maven的javax.mail发送邮件例子程序

    基于Maven的javax.mail发送邮件例子程序 pom.xml添加依赖jar: &lt;groupId&gt;javax.mail &lt;artifactId&gt;mail ${javamail.version} &lt;/dependency&gt; &lt;javamail.version&gt;1.4.1&lt;/javamail.version&gt; /* 功能:...

    javax.mail-1.5.6-API文档-中文版.zip

    赠送jar包:javax.mail-1.5.6.jar; 赠送原API文档:javax.mail-1.5.6-javadoc.jar; 赠送源代码:javax.mail-1.5.6-sources.jar; 赠送Maven依赖信息文件:javax.mail-1.5.6.pom; 包含翻译后的API文档:javax.mail...

    javax.mail-1.6.2-API文档-中英对照版.zip

    赠送jar包:javax.mail-1.6.2.jar; 赠送原API文档:javax.mail-1.6.2-javadoc.jar; 赠送源代码:javax.mail-1.6.2-sources.jar; 赠送Maven依赖信息文件:javax.mail-1.6.2.pom; 包含翻译后的API文档:javax.mail...

    javax.mail-1.6.0.jar包及移入maven仓库语句

    要使用`javax.mail`发送邮件,你需要配置一个`Properties`对象,设置SMTP服务器信息,然后创建`Session`对象。之后,你可以创建`Message`对象,填充邮件内容,最后通过`Transport`对象发送邮件。例如: ```java ...

    javax.mail.jar下载

    因此,解决这个问题的方法就是确保将`javax.mail.jar` 添加到项目的类路径中,或者在使用Maven或Gradle等构建工具时,将其作为依赖进行管理。 JavaMail API 包含了一系列的类和接口,如 `Session`、`Message`、`...

    javax.mail-1.5.6-API文档-中英对照版.zip

    赠送jar包:javax.mail-1.5.6.jar; 赠送原API文档:javax.mail-1.5.6-javadoc.jar; 赠送源代码:javax.mail-1.5.6-sources.jar; 赠送Maven依赖信息文件:javax.mail-1.5.6.pom; 包含翻译后的API文档:javax.mail...

    javax.mail-1.6.2_javamailjar1.6.2_javamail-1.6.2_javax.mail_java

    `javax.mail-1.6.2_javamailjar1.6.2_javamail-1.6.2_javax.mail_java` 这个标题暗示了我们正在讨论的是 JavaMail 的 1.6.2 版本,这是一个稳定且广泛使用的版本。 JavaMail API 提供了一套标准的接口,用于与邮件...

    javax.mail.jar-Java发送邮件API

    javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/

    javax.mail-api-1.6.2.jar

    通过错误描述我们发现java.lang.NoClassDefFoundError: javax/mail/MessagingException,主要说找不到这个类。通过查询发现是缺少javax.mail-api-1.6.2.jar和activation-1.1.1.jar包。在maven上下载即可

    javax.mail.1.4.7.jar

    在使用javax.mail.1.4.7.jar时,开发者需要注意兼容性问题,确保所使用的Java版本与JavaMail版本相匹配。此外,由于邮件处理涉及网络通信和安全,因此还需要考虑SSL/TLS加密以及可能的认证机制,如用户名和密码。 ...

    javax.mail-1.5.2源码

    `javax.mail` 是Java平台上的一个标准API,用于处理电子邮件通信。这个API提供了一套全面的接口和类,使得开发者可以方便地实现邮件发送、接收、管理邮箱等操作。`javax.mail-1.5.2` 版本是这个库的一个特定发行版,...

    javax.mail.AuthenticationFailedException异常

    javax.mail.AuthenticationFailedException异常处理。

    javax.jms.jar下载

    javax.jms.BytesMessage.class javax.jms.Connection.class javax.jms.ConnectionConsumer.class javax.jms.ConnectionFactory.class javax.jms.ConnectionMetaData.class javax.jms.DeliveryMode.class javax.jms....

    javax.jms.jar

    Classes contained in javax.jms.jar: javax.transaction.xa.XAResource.class javax.jms.BytesMessage.class javax.jms.Message.class javax.jms.JMSException.class javax.jms.Destination.class javax.jms....

    javax.persistence.jar

    Files contained in javax.persistence.jar: META-INF/MANIFEST.MF javax.persistence.Access.class javax.persistence.AccessType.class javax.persistence.AssociationOverride.class javax.persistence....

    javax.ejb.jar下载

    Files contained in javax.ejb.jar: META-INF/MANIFEST.MF javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout.class javax.ejb.ActivationConfigProperty.class javax.ejb.AfterBegin.class javax....

    javamail1.4.5和javax.mail-1.5.5.jar

    在给定的压缩包文件中,我们有两个关键组件:`javax.mail-1.5.5.jar` 和 `javamail1_4_5.zip`。 `javax.mail-1.5.5.jar` 是JavaMail API的一个版本,版本号为1.5.5。这个API定义了一组接口和类,用于与各种邮件系统...

    javax.jar 包免费下载

    javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar javax.jar ...

    javax.mail.jar

    《Java邮件API(javax.mail)详解》 在Java编程领域,`javax.mail.jar`是一个重要的库文件,它包含了Java Mail API的所有类和接口,用于处理电子邮件的发送和接收。Java Mail API是Java平台上的标准API,它允许开发...

Global site tag (gtag.js) - Google Analytics