email发送实战

  1. /***************email发送实战***************************/ 
  2. //用java实现发送
  3. public static void sendMail(String mail_host, String mail_port, final String mail_sender, final String mail_sender_pwd, String mail_from, String To, String CC, String BCC, String subject, String content, boolean isSSL) {
  4.         try {
  5.             // Get a Properties object
  6.             Properties props = System.getProperties();
  7.             props.setProperty("mail.smtp.host", mail_host);   //smtp.gmail.com
  8.             props.put("mail.smtp.auth""true");
  9.             if (isSSL) {
  10.                 Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
  11.                 props.setProperty("mail.smtp.port", mail_port);
  12.                 props.setProperty("mail.smtp.socketFactory.port", mail_port);
  13.                 props.setProperty("mail.smtp.socketFactory.class""javax.net.ssl.SSLSocketFactory");
  14.                 props.setProperty("mail.smtp.socketFactory.fallback""false");
  15.             }
  16.             Session session = Session.getDefaultInstance(props, new Authenticator() {
  17.                 protected PasswordAuthentication getPasswordAuthentication() {
  18.                     return new PasswordAuthentication(mail_sender, mail_sender_pwd);
  19.                 }
  20.             });
  21.             // -- Create a new message --
  22.             //  Message msg = new MimeMessage(session);
  23.             MimeMessage msg = new MimeMessage(session);
  24.             // -- Set the FROM and TO fields --
  25.             msg.setFrom(new InternetAddress(mail_from));
  26.             //发送到目标邮件
  27.             msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(To));
  28.             //抄送的接收者
  29.             if (StringUtils.isNotEmpty(CC))
  30.                 msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(CC));
  31.             //暗送的接收者
  32.             if (StringUtils.isNotEmpty(BCC))
  33.                 msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(BCC));
  34.             msg.setSubject(subject);
  35.             // MimeMultipart multi = new MimeMultipart();
  36.             Multipart multi = new MimeMultipart();
  37.             //BodyPart textBodyPart = new MimeBodyPart();
  38.             MimeBodyPart bodyPart = new MimeBodyPart();
  39.             // 设定邮件内容的类型为 text/plain 或 text/html
  40.             bodyPart.setContent(content, "text/html;charset=UTF-8");
  41.             //textBodyPart.setText(content);
  42.             multi.addBodyPart(bodyPart);
  43.             msg.setContent(multi);
  44.             msg.saveChanges();
  45.             //  msg.setText(content);
  46.             msg.setSentDate(new Date());
  47.             Transport.send(msg);
  48.         } catch (MessagingException e) {
  49.             log.debug(e.getMessage());
  50.         }
  51.     }
  52. //普通未加密 
  53.  private static void sentMail() {
  54.         String mail_host = "smtp.163.com";
  55.         String mail_sender = "test";
  56.         String mail_sender_pwd = "test";
  57.         String mail_from = "test@163.com";  
  58.         String To = "test1@163.com,test2@163.com";
  59.         String CC = "test1@163.com,test2@163.com";
  60.         String BCC = "test1@163.com,test2@163.com";
  61.         String subject = "test email";
  62.         String contents = getContent();
  63.         sendMail(mail_host,
  64.                 null,
  65.                 mail_sender,
  66.                 mail_sender_pwd,
  67.                 mail_from,
  68.                 To,
  69.                 CC,
  70.                 BCC,
  71.                 subject,
  72.                 contents,
  73.                 false);
  74.     }
  75. //SSL加密     
  76. private static void sendMailSSL() {
  77.         String mail_host = "smtp.gmail.com";
  78.         String mail_port = "465";
  79.         String mail_sender = "test";
  80.         String mail_sender_pwd = "test";
  81.         String mail_from = "test@gmail.com";
  82.         String To = "test1@163.com,test2@163.com";
  83.         String CC = null;
  84.         String BCC = null;
  85.         String subject = "test email";
  86.         //String contents = "<shortname> has paid - <amount> E TTC";
  87.         String contents = getContent();
  88.         sendMail(mail_host,
  89.                 mail_port,
  90.                 mail_sender,
  91.                 mail_sender_pwd,
  92.                 mail_from,
  93.                 To,
  94.                 CC,
  95.                 BCC,
  96.                 subject,
  97.                 contents,
  98.                 true);
  99.     }   
  100. //利用commons发送
  101.  private static void sendMail(String hostName, String sender, String pwd, String from, String to,String subject, String contents, boolean isSSL) {
  102.         try {
  103.             List list = new ArrayList();
  104.             InternetAddress[] toAry = InternetAddress.parse(to);
  105.             for (int i = 0; i < toAry.length; i++) {
  106.                 list.add(toAry[i]);
  107.             }
  108.              log.debug(list);
  109.             SimpleEmail email = new SimpleEmail();
  110.             email.setHostName(hostName);//邮件服务器 smtp.sina.com
  111.             email.setAuthentication(sender, pwd);//smtp认证的用户名和密码
  112.             if (isSSL) {
  113.                 email.setSmtpPort(465);
  114.                 email.setSSL(true);
  115.                 email.setSslSmtpPort("465");
  116.             }
  117.             //发送到目标邮件
  118.             // email.addTo("beauty2001@163.com", "兔子");//收信者
  119.             email.setTo(list);
  120.             //暗送的接收者
  121.             // email.setBcc(null);
  122.             //抄送的接收者
  123.             //email.setCc(null);
  124.             email.setSentDate(new Date());
  125.             // email.setFrom("beauty2001@163.com", "猫咪");//发信者
  126.             email.setFrom(from);
  127.             email.setSubject(subject);//标题
  128.             email.setCharset("UTF-8");//编码格式
  129.             //email.setMsg("这是一封猫咪的测试邮件");//内容
  130.             email.setContent(contents, "text/html;charset=UTF-8");
  131.             /* MimeMultipart multi = new MimeMultipart();
  132.             BodyPart textBodyPart = new MimeBodyPart();
  133.             textBodyPart.setText(contents);
  134.             multi.addBodyPart(textBodyPart);
  135.             email.setContent(multi);*/
  136.             email.send();//发送
  137.         } catch (Exception e) {
  138.             log.debug(e);
  139.         }
  140.     }
  141.     
  142. sendMail("smtp.163.com""test""test""test@163.com","test1@163.com,test2@163.com""test email", getContent(), false);
  143. sendMail("smtp.gmail.com""test@gmail.com""test""test@gmail.com","test1@163.com,test2@163.com","test email", getContent(), false);
  144. //获取网页内容    
  145. private static String getContent() {
  146.         String contents = null;
  147.         try {
  148.             URL url = new URL("http://www.XXX.com/tech/cvs_card.html");
  149.             InputStream inStream = url.openStream();
  150.             contents = IOUtils.toString(inStream, "utf-8");
  151.             System.out.println("Slashdot: " + contents);
  152.         } catch (IOException ioe) {
  153.             // handle this exception
  154.         }
  155.         return contents;
  156.     }   
  157. 加上commons-email-1.1.jar
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值