Gmail.java
上传用户:u_thks
上传日期:2022-07-31
资源大小:1910k
文件大小:4k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

Java

  1. /*
  2.  * Created on 2005-5-20
  3.  * Made In GamVan.com
  4.  * 在线发信的Bean
  5.  */
  6. package com.gamvan.tools;
  7. import java.security.Security;
  8. import java.util.Date;
  9. import java.util.Properties;
  10. import javax.mail.Authenticator;
  11. import javax.mail.Message;
  12. import javax.mail.MessagingException;
  13. import javax.mail.PasswordAuthentication;
  14. import javax.mail.Session;
  15. import javax.mail.Transport;
  16. import javax.mail.internet.InternetAddress;
  17. import javax.mail.internet.MimeMessage;
  18. import javax.activation.DataSource;
  19. public class Gmail { 
  20.     private String toEmail2 = ""; //抄送
  21. private String toName="";   //接收人
  22. private String toEmail=""; //接收人邮件地址
  23. private String fromName="";   //发件人
  24. private String fromEmail=""; //发件人邮件地址
  25. //private String filename="";   
  26. private String subject="";   //邮件标题
  27. private String content=""; //邮件内容
  28. private String smtpServer=""; 
  29. private String smtpID="";
  30. private String smtpPass="";
  31. //private String popServer = "";
  32. private String fileName=""; 
  33. private boolean needAuth = false;
  34. private String message = ""; 
  35. private int needSSL = 0;
  36. private String smtpPort = "";
  37. //private String popPort = "";
  38.   
  39. public void setToEmail2(String toEmail2) {
  40.         this.toEmail2 = toEmail2;
  41.     }
  42.     public String getMessage(){
  43. return this.message;
  44. }
  45. public void setSmtpPort(String s){
  46. this.smtpPort = s;
  47. }
  48. //public void setPopPort(String s){
  49. //this.popPort = s;
  50. //}
  51. public void setNeedSSL(int i){
  52. this.needSSL = i;
  53. }
  54. public void setToEmail(String toEmail){
  55. this.toEmail = toEmail;
  56. }
  57. public void setToName(String toName){
  58. this.toName = toName;
  59. }
  60. public void setFromName(String fromName){
  61. this.fromName = fromName;
  62. }
  63. public void setFromEmail(String fromEmail){
  64. this.fromEmail = fromEmail;
  65. }
  66. public void setSmtpServer(String smtpServer){
  67. this.smtpServer = smtpServer;
  68. }
  69. public void setSmtpID(String smtpID){
  70. this.smtpID = smtpID;
  71. }
  72. public void setSmtpPass(String smtpPass){
  73. this.smtpPass = smtpPass;
  74. }
  75. public void setSubject(String subject){
  76. this.subject = subject;
  77. }
  78. public void setContent(String content){
  79. this.content = content;
  80. }
  81. public void setNeedAuth(String needAuth){
  82. try{
  83. this.needAuth = Boolean.parseBoolean(needAuth);
  84. }catch(Exception e){
  85. this.needAuth = true;
  86. }
  87. }
  88. //发送方法  
  89. public boolean mailSender(){   
  90.         boolean bea = false;
  91.         //Properties
  92. Properties props = System.getProperties();
  93. props.setProperty("mail.smtp.host", smtpServer);
  94. if(needSSL==1){ //判断是否有SSL安全套接字验证
  95. Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
  96. final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
  97. props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
  98. props.setProperty("mail.smtp.socketFactory.fallback", "false");
  99. }
  100. if(!smtpPort.equals("")){ //smtp服务器端口
  101. props.setProperty("mail.smtp.port", smtpPort);
  102. props.setProperty("mail.smtp.socketFactory.port", smtpPort);
  103. }
  104. if(needAuth){ //判断SMTP是否需要身份验证
  105. props.setProperty("mail.smtp.auth","true");
  106. }else{
  107. props.setProperty("mail.smtp.auth","false");
  108. }
  109. // 
  110. ///Session session=Session.getDefaultInstance(props, null); 
  111. Session session = Session.getDefaultInstance(props, new Authenticator(){
  112.     protected PasswordAuthentication getPasswordAuthentication() {
  113.     return new PasswordAuthentication(smtpID, smtpPass);
  114. }});
  115.   
  116. try {   
  117. //
  118. MimeMessage msg = new MimeMessage(session);   
  119. InternetAddress address = new InternetAddress(fromEmail);
  120. msg.setFrom(address);
  121. msg.setRecipients(Message.RecipientType.TO, 
  122.   InternetAddress.parse(toEmail,false));
  123.             
  124.             if(toEmail2!=null && !toEmail2.equals("")){
  125.                 msg.setRecipients(Message.RecipientType.CC, 
  126.                       InternetAddress.parse(toEmail2,false));
  127.             }
  128. msg.setSubject(subject);  //设置邮件标题
  129. msg.setText(content);//设置邮件内容
  130. msg.setSentDate(new Date());  //邮件发送日期
  131.     Transport.send(msg);  //执行发送
  132.     message = "Email发送成功......";
  133.             bea = true;
  134.  }catch(MessagingException e){
  135.      message = e.toString();
  136.      bea = false;
  137.  }finally{
  138.  }
  139. return bea;   
  140. }   
  141. }