zoukankan      html  css  js  c++  java
  • java连接163邮箱发送邮件

    一:jar包:
    image
    下载链接:链接: http://pan.baidu.com/s/1dDhIDLv 密码: ibg5
    二:代码

    1----------------------------------------------------------------------------------
    package com.No008.shop.framework.common.dic.mail.mail163;
    import java.util.Properties;
    /**
     * 主题:简单邮件(不带附件的邮件)发送
     * @author 刘军/shell_liu
     * 2015-4-12
     */
    public class MailSenderInfo {
    
        //发送邮件的服务器的IP和端口
        private String mailServerHost;
        private String mailServerPort="25";
        //邮件发送者的地址
        private String fromAddress;
        //邮件接收者的地址
        private String toAddress;
        //登陆邮件发送服务器的用户名和密码
        private String userName;
        private String password;
        //是否需要身份验证
        private boolean validate=false;
        //邮件发送主题
        private String subject;
        //邮件的文本内容
        private String content;
        //邮件附件的文件名
        private String[] attachFileNames;
        /**
         * 获得邮件会话属性
         */
        public  Properties getProperties(){
            Properties p=new Properties();
            p.put("mail.smtp.host", this.mailServerHost);
            p.put("mail.smtp.port", this.mailServerPort);
            p.put("mail.smtp.auth", validate?"true":"false");
            return p;}
        public String getMailServerHost() {
            return mailServerHost;
        }
        public void setMailServerHost(String mailServerHost) {
            this.mailServerHost = mailServerHost;
        }
        public String getMailServerPort() {
            return mailServerPort;
        }
        public void setMailServerPort(String mailServerPort) {
            this.mailServerPort = mailServerPort;
        }
        public String getFromAddress() {
            return fromAddress;
        }
        public void setFromAddress(String fromAddress) {
            this.fromAddress = fromAddress;
        }
        public String getToAddress() {
            return toAddress;
        }
        public void setToAddress(String toAddress) {
            this.toAddress = toAddress;
        }
        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 boolean isValidate() {
            return validate;
        }
        public void setValidate(boolean validate) {
            this.validate = validate;
        }
        public String getSubject() {
            return subject;
        }
        public void setSubject(String subject) {
            this.subject = subject;
        }
        public String getContent() {
            return content;
        }
        public void setContent(String content) {
            this.content = content;
        }
        public String[] getAttachFileNames() {
            return attachFileNames;
        }
        public void setAttachFileNames(String[] attachFileNames) {
            this.attachFileNames = attachFileNames;
        }
    
    
    
    
    }
    
    
    
    
    2---------------------------------------------------------------------------------------------------------------------------------------
    
    
    package com.No008.shop.framework.common.dic.mail.mail163;
    
    import javax.mail.*;
    /**
     * 主题:简单邮件(不带附件的邮件)发送
     * @author 刘军/shell_liu
     * 2015-4-12
     */
    public class MyAuthenticator extends Authenticator{
    
        String userName=null;
        String password=null;
    
        public MyAuthenticator( ) {
    
        }
        public MyAuthenticator(String userName, String password) {
            this.userName = userName;
            this.password = password;
        }
    
        protected PasswordAuthentication getPasswordAuthentication(){
            return new PasswordAuthentication(userName, password);
    
        }
    }
    
    
    3---------------------------------------------------------------------------------------------------------------------------
    
    package com.No008.shop.framework.common.dic.mail.mail163;
    /**
     * 主题:简单邮件(不带附件的邮件)发送
     * @author 刘军/shell_liu
     * 2015-4-12
     */
    public class SendMail {
    
         public static void main(String[] args) {
             SendMail.send_163();
        }
    
        //163邮箱 
        public static void send_163() {
             //这个类主要是设置邮件
            MailSenderInfo mailInfo=new MailSenderInfo();
            mailInfo.setMailServerHost("smtp.163.com");
            mailInfo.setMailServerPort("25");
            mailInfo.setValidate(true);
            mailInfo.setUserName("liujun_010402@163.com");//实际发送者
            mailInfo.setPassword("密码");//您的邮箱密码
            mailInfo.setFromAddress("liujun_010402@163.com");//设置发送人邮箱地址
            mailInfo.setToAddress("1136808529@qq.com");
            mailInfo.setSubject("test");//设置邮箱标题
            mailInfo.setContent("<b>test</b>");//设置邮箱内容
            //这个类主要是用来发送邮件
            SimpleMailSender sms=new SimpleMailSender();
            sms.sendTextMail(mailInfo);//发送文本格式
         sms.sendHtmlMail(mailInfo);//发送html格式:如果需要以html格式发送则需要处理好附件上传地址问题
    
        }
    
    }
    
    
    4----------------------------------------------------------------------------------------------------------------------
    
    package com.No008.shop.framework.common.dic.mail.mail163;
    
    import java.util.Date;
    import java.util.Properties;
    
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.Address;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    /**
     * 主题:简单邮件(不带附件的邮件)发送
     * @author 刘军/shell_liu
     * 2015-4-12
     */
    public class SimpleMailSender {
        /**
         * 以文本格式发送邮件
         *   @param mailInfo
         *   代发送的邮件的信息
         */
    
        public boolean sendTextMail(MailSenderInfo mailInfo){
            //判断是否需要身份认证
            MyAuthenticator authenticator=null;
            Properties pro=mailInfo.getProperties();
             if(mailInfo.isValidate()){
                 //如果需要身份认证;则创建一个密码验证器
                 authenticator=new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
             }
            //根据邮件会话属性和密码验证器构造一个邮件发送的session
             Session sendMailSession=Session.getDefaultInstance(pro, authenticator);
             try {
               //    根据session 创建一个邮件消息
             Message mailMessage=new MimeMessage(sendMailSession);
              //创建邮件发送者地址
             Address from =new InternetAddress(mailInfo.getFromAddress());
              //设置邮件消息的发送者
             mailMessage.setFrom(from);
              //创建邮件的接受者地址;并设置到邮件消息中
             Address to=new InternetAddress(mailInfo.getToAddress());
             mailMessage.setRecipient(Message.RecipientType.TO, to);
             //设置邮件消息的主题
             mailMessage.setSubject(mailInfo.getSubject());
             //设置邮件消息发送的时间
             mailMessage.setSentDate(new Date());
             //设置邮件消息的主要内容
             String mailContent =mailInfo.getContent();
             mailMessage.setText(mailContent);
             //发送邮件
             Transport.send(mailMessage);
             return true;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }
    
    
        /***
         * 以HTML格式发送邮件
         * @param mailInfo
         *     待发送的邮件信息
         */
        public boolean sendHtmlMail(MailSenderInfo mailInfo){
            //判断是否需要身份认证
            MyAuthenticator authenticator=null;
            Properties pro=mailInfo.getProperties();
             //如果需要身份认证;则创建一个密码验证器
             if(mailInfo.isValidate()){
                 authenticator=new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());
             }
            //根据邮件会话属性和密码验证器构造一个邮件发送的session
             Session sendMailSession=Session.getDefaultInstance(pro, authenticator);
             try {
                   //    根据session 创建一个邮件消息
                 Message mailMessage=new MimeMessage(sendMailSession);
                  //创建邮件发送者地址
                 Address from =new InternetAddress(mailInfo.getFromAddress());
                  //设置邮件消息的发送者
                 mailMessage.setFrom(from);
                  //创建邮件的接受者地址;并设置到邮件消息中
                 Address to=new InternetAddress(mailInfo.getToAddress());
                   //Message.RecipientType.TO表示接收者的类型为TO
                 mailMessage.setRecipient(Message.RecipientType.TO, to);
                 //设置邮件消息的主题
                 mailMessage.setSubject(mailInfo.getSubject());
                 //设置邮件消息发送的时间
                 mailMessage.setSentDate(new Date());
                 //设置邮件消息的主要内容
    
                 //MiniMultipart 类是一个容器 包含MimeBodyPart类型的对象
                 Multipart mailPart =new MimeMultipart();
                  //创建一个包含HTNL内容的MimeBodyPart
                 BodyPart html=new MimeBodyPart();
                 //设置HTML内容
                 html.setContent(mailInfo.getContent(),"text/html;charset=utf-8");
                 mailPart.addBodyPart(html);
    
                 //s设置信件的附件(用本地上的文件作为附件)
                 /**
                 html=new MimeBodyPart();
                 FileDataSource fds=new FileDataSource("");
                 DataHandler dh=new DataHandler(fds);
                 html.setFileName("");
                 html.setDataHandler(dh);
                 mailPart.addBodyPart(html);
                 **/
                 //将MiniMultipart对象设置为邮件内容
                 mailMessage.setContent(mailPart);
                 mailMessage.saveChanges();
    
                 //发送邮件
                 Transport.send(mailMessage);
                 return true;
                } catch (Exception e) {
                    e.printStackTrace();
                }
    
            return false;
        }
    
    
    
    
    
    
    
    
    
    
    
    
    }
    
    
    
    
    
    
    
  • 相关阅读:
    let jsp embedded dynamic language python ruby groovy
    The C Book — Table of Contents
    E4X 维基百科,自由的百科全书
    github for windows
    C File I/O Tutorial Cprogramming.com
    RequireJS入门(一)
    微信技术总监分享架构设计 下载频道 CSDN.NET
    C语言编程程序的内存布局
    Niocchi Java crawl library implementing synchronous I/O multiplexing
    Michael Barr « Embedded Gurus – Experts on Embedded Software
  • 原文地址:https://www.cnblogs.com/ios9/p/9929370.html
Copyright © 2011-2022 走看看