zoukankan      html  css  js  c++  java
  • javaMail编写案列

      1 package common.impl;
      2 import java.util.Properties;
      3 
      4 import javax.mail.BodyPart;
      5 import javax.mail.Message;
      6 import javax.mail.MessagingException;
      7 import javax.mail.Multipart;
      8 import javax.mail.Session;
      9 import javax.mail.Transport;
     10 import javax.mail.internet.AddressException;
     11 import javax.mail.internet.InternetAddress;
     12 import javax.mail.internet.MimeBodyPart;
     13 import javax.mail.internet.MimeMessage;
     14 import javax.mail.internet.MimeMultipart;
     15 import javax.servlet.http.HttpSession;
     16 
     17 import org.apache.struts2.ServletActionContext;
     18 
     19 /****************************************************************
     20  * 对邮箱使用(对于其他的使用类似的你应该也会更改了)
     21  * 首先把邮箱的POP3 SMTP打开
     22  * 首先确定你的网络正常、非代理
     23  * 确定你的邮箱开启了SMTP
     24  * 如果没有开启,那么这样设置下
     25  * 设置->账户 --在下面-- 把这个选上    [√]SMTP发信后保存到服务器
     26  * 经过验证新浪 /网易邮箱可以往qq/sina/163发邮件但是qq不能作为发送方 
     27  ****************************************************************/
     28 
     29 public class JavaMail {
     30       //设置服务器
     31     private static String KEY_SMTP         = "mail.smtp.host";
     32     private static String VALUE_SMTP     = "smtp.sina.com";
     33     //服务器验证
     34     private static String KEY_PROPS     = "mail.smtp.auth";
     35     private static boolean VALUE_PROPS     = true;
     36     //发件人用户名、密码
     37     private String SEND_USER             = "111@sina.com";//你的邮箱
     38     private String SEND_UNAME             = "111@sina.com"; //你的邮箱
     39     private String SEND_PWD             = "111111";     //你的邮箱密码
     40     //建立会话
     41     private MimeMessage message;
     42     private Session s;
     43     
     44     /*
     45      * 初始化方法
     46      * */
     47     public void SendEmail(){
     48         Properties props = System.getProperties();
     49         props.setProperty(KEY_SMTP, VALUE_SMTP);
     50         props.put(KEY_PROPS, VALUE_PROPS);
     51         s = Session.getInstance(props);
     52         s.setDebug(true);/*开启后有调试信息*/
     53         message = new MimeMessage(s);  
     54     }
     55      
     56     /**
     57      * 发送邮件
     58      * @param headName         邮件头文件名
     59      * @param sendHtml         邮件内容
     60      * @param receiveUser     收件人1111@qq.com
     61      */
     62     public void doSendHtmlEmail(String headName,String sendHtml,String receiveUser){
     63         try {
     64             SendEmail();
     65             // 发件人  
     66             InternetAddress from = new InternetAddress(SEND_USER);
     67             message.setFrom(from);  
     68             // 收件人  
     69             InternetAddress to = new InternetAddress(receiveUser);  
     70             message.setRecipient(Message.RecipientType.TO, to);  
     71             // 邮件标题  
     72             message.setSubject(headName);
     73             String content = sendHtml.toString();
     74             // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象   
     75             Multipart mainPart = new MimeMultipart();   
     76             // 创建一个包含HTML内容的MimeBodyPart   
     77             BodyPart html = new MimeBodyPart();   
     78             // 设置HTML内容   
     79             html.setContent(content, "text/html; charset=utf-8");   
     80             mainPart.addBodyPart(html);   
     81             // 将MiniMultipart对象设置为邮件内容   
     82             message.setContent(mainPart);   
     83             message.setSentDate(new java.util.Date());//设置发信时间
     84             message.saveChanges();  
     85             Transport transport = s.getTransport("smtp");  
     86             // smtp验证,就是你用来发邮件的邮箱用户名密码  
     87             transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);  
     88             // 发送  
     89             transport.sendMessage(message, message.getAllRecipients());  
     90             transport.close();  
     91         } catch (AddressException e) {
     92             // TODO Auto-generated catch block
     93             e.printStackTrace();
     94         } catch (MessagingException e) {
     95             e.printStackTrace();
     96         }  
     97     }
     98     
     99 }
    100 
    101 
    102  
  • 相关阅读:
    Linux操作系统定时任务系统 Cron 入门
    ssh命令远程登录
    jQuery 中 attr() 和 prop() 方法的区别
    javascript深入理解js闭包
    怎样使用Markdown
    顺颂商祺
    利用Code128字体将文本转换为code128条形码
    如何看懂Code128条形码
    SSH原理及操作
    ssh 22端口号拒绝
  • 原文地址:https://www.cnblogs.com/weilantiankong/p/4643198.html
Copyright © 2011-2022 走看看