开发者社区> 聚优云惠> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

javaMail实现邮件发送,群发功能

简介:  邮件系统很简单哦,只有下面两个类:  MailBean 和 SendMailOnTime  需要jar组件:  activation.
+关注继续查看

 邮件系统很简单哦,只有下面两个类: 
MailBean 和 SendMailOnTime 
需要jar组件: 
activation.jar 
mail.jar 
log4j.jar 

代码如下:
[java] view plaincopy
  1. /* 
  2.   * Created on 2005-9-7 
  3.   * 
  4.   * TODO To change the template for this generated file go to 
  5.   * Window - Preferences - Java - Code Style - Code Templates 
  6.   * 
  7.   * Update on 2008-8-14 
  8.   */  
  9. package javaMail;  
  10.    
  11. import javax.mail.MessagingException;  
  12. import javax.mail.Session;  
  13. import javax.mail.Transport;  
  14. import javax.mail.internet.InternetAddress;  
  15. import javax.mail.internet.MimeMessage;  
  16.    
  17. import org.apache.log4j.Logger;  
  18.    
  19.    
  20.    
  21. /** 
  22.   * @author panshengti 类功能 : 处理意见反馈邮件发送 调用 jar:activation.jar 、 mail.jar 
  23.   */  
  24.    
  25. public class MailBean {  
  26.      
  27.     public static Logger log = null ;  
  28.     static {  
  29.        log = Logger.getLogger (MailBean. class );  
  30.     }  
  31.      
  32.     // smtpHost 发件人所用到的 smtp 服务器  
  33.     String smtpHost = "smtp.163.com" ;  
  34.     // from 发件人邮箱  
  35.     String from = "d-ear@163.com" ;  
  36.     // to 收件人邮箱  
  37.     String to = "mbrasser@d-ear.com" ;  
  38.     // subject 邮件标题  
  39.     String subject = "receive a mail from d-ear@163.com" ;  
  40.     // theMessage 邮件内容  
  41.     StringBuffer theMessage = new StringBuffer();  
  42.    
  43.     /** 
  44.       * 固定的给 ffshi@d-ear.com ,stpan@d-ear.com 发送邮件 
  45.       * create date:2008- 8- 15 
  46.       * author:Administrator 
  47.       * 
  48.       * @param smtpHost 
  49.       * @param from 
  50.       * @param subject 
  51.       * @param messageText 
  52.       * @throws MessagingException 
  53.       */  
  54.     public void sendMessage(String smtpHost, String from,  
  55.            String subject, String messageText) throws MessagingException {  
  56.        SmtpAuth sa = new SmtpAuth();  
  57.        sa.getuserinfo( "d-ear" , "123abc" );  
  58.        java.util.Properties props = new java.util.Properties();  
  59.        props.put( "mail.smtp.auth" , "true" );  
  60.        props.put( "mail.smtp.host" , smtpHost);  
  61.        System. out .println( "Constructing message- from=" + from + " to=" + to );  
  62.        InternetAddress fromAddress = new InternetAddress(from);  
  63.        InternetAddress[] toAddresss = new InternetAddress[2];  
  64.        toAddresss[0] = new InternetAddress( "ffshi@d-ear.com" );  
  65.        toAddresss[1] = new InternetAddress( "stpan@d-ear.com" );  
  66.        int i = 0;  
  67.        while (i < toAddresss. length ) {  
  68.            Session mailSession = Session.getDefaultInstance (props, sa);  
  69.            MimeMessage testMessage = new MimeMessage(mailSession);  
  70.            testMessage.setFrom(fromAddress);  
  71.            testMessage.addRecipient(javax.mail.Message.RecipientType. TO ,  
  72.                   toAddresss[i]);  
  73.            testMessage.setSentDate( new java.util.Date());  
  74.            testMessage.setSubject(subject);  
  75.            testMessage.setText(messageText);  
  76.    
  77.            Transport.send (testMessage);  
  78.            System. out .println( "A mail have been sent!" );  
  79.            i++;  
  80.        }  
  81.     }  
  82.    
  83.     /* 
  84.       * 由 163 服务器向目的邮箱发送邮件 
  85.       * 邮件发送处理 @param stmHost,from,to,subject,messageText 
  86.       */  
  87.    
  88.     public void sendMessage(String smtpHost, String from, String to,  
  89.            String subject, String messageText) throws MessagingException {  
  90.        SmtpAuth sa = new SmtpAuth();  
  91.        sa.getuserinfo( "d-ear" , "123abc" );  
  92.        java.util.Properties props = new java.util.Properties();  
  93.        props.put( "mail.smtp.auth" , "true" );  
  94.        props.put( "mail.smtp.host" , smtpHost);  
  95.        System. out .println( "Constructing message- from=" + from + " to=" + to);  
  96.        InternetAddress fromAddress = new InternetAddress(from);  
  97.        InternetAddress toAddresss = new InternetAddress(to);  
  98.         
  99.         
  100.            Session mailSession = Session.getDefaultInstance (props, sa);  
  101.            MimeMessage testMessage = new MimeMessage(mailSession);  
  102.            testMessage.setFrom(fromAddress);  
  103.            testMessage.addRecipient(javax.mail.Message.RecipientType. TO ,  
  104.                   toAddresss);  
  105.            testMessage.setSentDate( new java.util.Date());  
  106.            testMessage.setSubject(subject);  
  107.            testMessage.setText(messageText);  
  108.    
  109.            Transport.send (testMessage);  
  110.            System. out .println( "A mail have been sent to " + to);  
  111.             
  112.     }  
  113.    
  114.     /** 
  115.       * 功能:群发功能 , 把所有的目的邮箱作为一个数组参数传入 
  116.       * create date:2008- 8- 15 
  117.       * author:Administrator 
  118.       * 
  119.       * @param smtpHost 
  120.       * @param from 
  121.       * @param to 目的邮箱数组 
  122.       * @param subject 
  123.       * @param messageText 
  124.       * @throws MessagingException 
  125.       */  
  126.     public void sendMessage(String smtpHost, String from, String[] to,  
  127.            String subject, String messageText) throws MessagingException {  
  128.        SmtpAuth sa = new SmtpAuth();  
  129.        sa.getuserinfo( "d-ear" , "123abc" );  
  130.        java.util.Properties props = new java.util.Properties();  
  131.        props.put( "mail.smtp.auth" , "true" );  
  132.        props.put( "mail.smtp.host" , smtpHost);  
  133.        System. out .println( "Constructing message- from=" + from + " to=" + to);  
  134.        InternetAddress fromAddress = new InternetAddress(from);  
  135.         
  136.        InternetAddress[] toAddresss = new InternetAddress[to. length ];  
  137.        for ( int len=0;len<to. length ;len++){  
  138.            toAddresss[0] = new InternetAddress(to[len]);  
  139.        }  
  140.         
  141.        int i = 0;  
  142.        while (i < toAddresss. length ) {  
  143.            Session mailSession = Session.getDefaultInstance (props, sa);  
  144.            MimeMessage testMessage = new MimeMessage(mailSession);  
  145.            testMessage.setFrom(fromAddress);  
  146.            testMessage.addRecipient(javax.mail.Message.RecipientType. TO ,  
  147.                   toAddresss[i]);  
  148.            testMessage.setSentDate( new java.util.Date());  
  149.            testMessage.setSubject(subject);  
  150.            testMessage.setText(messageText);  
  151.    
  152.            Transport.send (testMessage);  
  153.            System. out .println( "A mail have been sent to " +to[i]);  
  154.            i++;  
  155.        }  
  156.     }  
  157.     /* 
  158.       * 邮件用户名和密码认证 
  159.       */  
  160.     static class SmtpAuth extends javax.mail.Authenticator {  
  161.        private String user , password ;  
  162.    
  163.        public void getuserinfo(String getuser, String getpassword) {  
  164.            user = getuser;  
  165.            password = getpassword;  
  166.        }  
  167.    
  168.        protected javax.mail.PasswordAuthentication getPasswordAuthentication() {  
  169.            return new javax.mail.PasswordAuthentication( user , password );  
  170.        }  
  171.     }  
  172.    
  173. }  
  174.    
  175.    
  176. package javaMail;  
  177.    
  178. import javax.mail.MessagingException;  
  179.    
  180. import org.apache.log4j.Logger;  
  181.    
  182. public class SendMailOnTime {  
  183.    
  184.     public static Logger log = null ;  
  185.     static {  
  186.        log = Logger.getLogger (SendMailOnTime. class );  
  187.     }  
  188.    
  189.     /** 
  190.       * @param args 
  191.       */  
  192.     public static void sendMail(String str) {  
  193.    
  194.        MailBean mail = new MailBean();  
  195.        try {  
  196.            mail.sendMessage( "smtp.163.com" , "d-ear@163.com" ,  
  197.                   "rent information" , str);  
  198.        } catch (MessagingException e) {  
  199.            System. out .println( "mail send error !" );  
  200.            log .debug( "mail send error !" + e.getMessage());  
  201.            e.printStackTrace();  
  202.        }  
  203.        System. out .println( "Mail have been sended ." );  
  204.     }  
  205.    
  206.     /** 
  207.       * 给一个指定邮箱发送指定的邮件内容 create date:2008- 8- 15 author:Administrator 
  208.       * 
  209.       * @param str 
  210.       */  
  211.     public static void sendMail(String toMail, String content) {  
  212.    
  213.        MailBean mail = new MailBean();  
  214.        try {  
  215.            mail.sendMessage( "smtp.163.com" , "d-ear@163.com" , toMail,  
  216.                   "spider information" , content);  
  217.        } catch (MessagingException e) {  
  218.            System. out .println( "mail send error !" );  
  219.            log .debug( "mail send error !" + e.getMessage());  
  220.            e.printStackTrace();  
  221.        }  
  222.        System. out .println( "Mail have been sended ." );  
  223.     }  
  224.    
  225.     /** 
  226.       * 指定目的邮箱数组进行群发 create date:2008- 8- 15 author:Administrator 
  227.       * 
  228.       * @param toMail 
  229.       * @param content 
  230.       */  
  231.     public static void sendMail(String[] toMail, String content) {  
  232.    
  233.        MailBean mail = new MailBean();  
  234.        try {  
  235.            mail.sendMessage( "smtp.163.com" , "d-ear@163.com" , toMail,  
  236.                   "spider information" , content);  
  237.        } catch (MessagingException e) {  
  238.            System. out .println( "mail send error !" );  
  239.            log .debug( "mail send error !" + e.getMessage());  
  240.            e.printStackTrace();  
  241.        }  
  242.        System. out .println( "Mail have been sended ." );  
  243.     }  
  244.    
  245. }  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【知识积累】JavaMail实现发邮件功能
今天闲来没事,想着通过程序来给别人发邮件。于是,上网搜了一下,相应的资料也很多,刚开始完成了邮件的简单发送,后来想如何能发送附件,继续寻找 答案,但是遇到了一个问题是当我使用txt类型作为附件时,附件里的内容总是会显示在正文里面,并且还会出现正文乱码的现象,之后经过不断的查阅资料,终 于解决了问题,实现了我自己想要的功能。
30 0
使用JavaMail发送邮件
使用JavaMail的API发送邮件~! 1 import org.apache.commons.collections.CollectionUtils; 2 import org.
1833 0
Java邮件发送
计算机网络课程设计竟然是设计邮件系统…晕唉。 邮箱服务涉及SMTP,POP3,MIME等协议,要是让我从最底层去实现,很明显不可能呀[捂脸] 站在前辈的肩上,可以少走很多弯路! 参考资料 http://blog.
1223 0
利用java实现发送邮件
电子邮件的应用非常广泛,常见的如在某网站注册了一个账户,自动发送一封激活邮件,通过邮件找回密码,自动批量发送活动信息等。很显然这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。
2158 0
Java 发送邮件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hxdeng/article/details/52351822 JavaM...
1051 0
Java发送邮件初窥
一、背景   最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送。 二、Java发送邮件的注意事项   1.不同的邮箱有不同的支持协议,比如有些只支持SSL协议,有些只支持TLS协议,还有些同时支持SSL和TLS协议。
1998 0
使用JavaMail发送邮件
一、背景   我们在实际开发中,常常会遇到需要使用java代码进行发送邮件的需求,我们可以通过这种方式向用户推送通知等。 二、Java代码 1 package com.hafiz.zhang.
959 0
JAVA MAIL发送邮件实例
 项目用到一需求,完成特定任务后需要自动发邮件给客户,看了下javamail比较简单...
914 0
+关注
聚优云惠
专业科普建站知识 ,让建站变得更简单。专注于WordPress和Java建站知识讲解,云服务器主机知识讲解,建站程序搭建和网站优化。 欢迎访问我的网站 :http://tencent.yundashi168.com
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载