Java Mail学习整理

1.加载jar包            
        mail.jar ,    
                         
        commons-email-X.X.jar ,    
            
        activation.jar    



         <dependency>
            <groupId>commons-email</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.2</version>
        </dependency>
            
2.写个mail对象            
        package com.study.bean;    
        import java.io.Serializable;    
        /**    
         *    
         * Mail属性实体    
         *    
         */    
        @SuppressWarnings("serial")    
        public class Mail {    
            public static final String ENCODEING = "UTF-8";    
            
            private String host; // 服务器地址    
            
            private String sender; // 发件人的邮箱    
            
            private String receiver; // 收件人的邮箱    
            
            private String name; // 发件人昵称    
            
            private String username; // 账号    
            
            private String password; // 密码    
            
            private String subject; // 主题    
            
            private String message; // 信息(支持HTML)    
            
            public String getHost() {    
                return host;    
            }    
            
            public void setHost(String host) {    
                this.host = host;    
            }    
            
            public String getSender() {    
                return sender;    
            }    
            
            public void setSender(String sender) {    
                this.sender = sender;    
            }    
            
            public String getReceiver() {    
                return receiver;    
            }    
            
            public void setReceiver(String receiver) {    
                this.receiver = receiver;    
            }    
            
            public String getName() {    
                return name;    
            }    
            
            public void setName(String name) {    
                this.name = name;    
            }    
            
            public String getUsername() {    
                return username;    
            }    
            
            public void setUsername(String username) {    
                this.username = username;    
            }    
            
            public String getPassword() {    
                return password;    
            }    
            
            public void setPassword(String password) {    
                this.password = password;    
            }    
            
            public String getSubject() {    
                return subject;    
            }    
            
            public void setSubject(String subject) {    
                this.subject = subject;    
            }    
            
            public String getMessage() {    
                return message;    
            }    
            
            public void setMessage(String message) {    
                this.message = message;    
            }    
        }    
            
            
            
3.写个工具类            
            
        package com.study.service.impl;    
        import org.apache.commons.mail.EmailException;    
        import org.apache.commons.mail.HtmlEmail;    
        import org.apache.log4j.Logger;    
            
        import com.study.bean.Mail;    
        /**    
         * Created by QD-ZHENGWP on 16/07/19.    
         *    
         * 邮件发送工具实现类    
         *    
         */    
        public class MailUtill {    
            
            protected final Logger logger = Logger.getLogger(getClass());    
            
            public boolean send(Mail mail) {    
                // 发送email    
                HtmlEmail email = new HtmlEmail();    
                try {    
                    // 这里是SMTP发送服务器的名字:163的如下:"smtp.163.com"    
                    email.setHostName(mail.getHost());    
                    // 字符编码集的设置    
                    email.setCharset(Mail.ENCODEING);    
                    // 收件人的邮箱    
                    email.addTo(mail.getReceiver());    
                    // 发送人的邮箱    
                    email.setFrom(mail.getSender(), mail.getName());    
                    // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码    
                    email.setAuthentication(mail.getUsername(), mail.getPassword());    
                    // 要发送的邮件主题    
                    email.setSubject(mail.getSubject());    
                    // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签    
                    email.setMsg(mail.getMessage());    
                    // 发送    
                    email.send();    
                    if (logger.isDebugEnabled()) {    
                        logger.debug(mail.getSender() + " 发送邮件到 " + mail.getReceiver());    
                    }    
                    return true;    
                } catch (EmailException e) {    
                    e.printStackTrace();    
                    logger.info(mail.getSender() + " 发送邮件到 " + mail.getReceiver()    
                            + " 失败");    
                    return false;    
                }    
            }    
        }    
            
            
4.测试            
            
            
         public static void test(){    
                Mail mail = new Mail();    
                mail.setHost("smtp.163.com"); // 设置邮件服务器    
                mail.setSender("18724768857@163.com");//发件人    
                mail.setReceiver("sx_haokl@softbrain-offshore.com.cn"); // 接收人    
                mail.setUsername("18724768857@163.com"); // 登录账号,一般都是和邮箱名一样吧    
                mail.setPassword("haokaili1124"); // 发件人邮箱的登录密码    
                mail.setSubject("hello大家好");    
                mail.setMessage("我是小小小小鸟");    
                new MailUtill().send(mail);    
            
            }    

 

posted @ 2016-07-21 16:24  JaneAi  阅读(292)  评论(0编辑  收藏  举报