• java,qq邮箱发邮件工具类(需要部分修改)


    package com.iflytek.utils;
    
    
    import com.sun.mail.util.MailSSLSocketFactory;
    
    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.util.Properties;
    
    //异步处理,多线程实现用户体验
    public class Sendmail extends Thread{
        //用于给用户发送邮件的邮箱
        private  String from="379831039@qq.com";
        //邮箱的用户名
        private String username="379831039@qq.com";
        //邮箱的密码
        private String password="";
        //发送邮件的服务器地址
        private String host="smtp.qq.com";
    
        private String whoEmail;
        private String context;
        private String title;
        public Sendmail(String whoEmail,String context,String title){
            this.whoEmail=whoEmail;
            this.context=context;
            this.title=title;
        }
    
        //重写run方法的实现,再run方法中发送邮件给指定用户
        @Override
        public void run() {
            try {
                Properties prop = new Properties();
                prop.setProperty("mail.host",host);//设置qq邮件服务器
                prop.setProperty("mail.transport.protocol","smtp");//邮件发送协议
                prop.setProperty("mail.smtp.auth","true");//需要验证用户名密码
    
                //关于QQ邮箱,还要设置SSL加密
                MailSSLSocketFactory sf = new MailSSLSocketFactory();
                sf.setTrustAllHosts(true);
                prop.put("mail.smtp.ssl.enable","true");
                prop.put("mail.smtp.ssl.socketFactory",sf);
    
    
                //使用JavaMail发送邮件的六个步骤
                //1.创建定义整个应用程序所需要的环境信息的Session对象
                //QQ独有
                Session session=Session.getDefaultInstance(prop, new Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username,password);
                    }
                });
    
                //开启Session的Debug模式,可以看到程序发送Email的运行状态
                session.setDebug(true);
    
                //2.通过Session对象获取transport对象
                Transport ts = session.getTransport();
    
                //3.使用邮箱的用户名和授权码连上邮件服务器
                ts.connect(host,username,password);
    
                //4.创建邮件
                //创建邮件对象
                MimeMessage message = new MimeMessage(session);
                //指定邮件的发件人
                message.setFrom(new InternetAddress(from));//发件人
                //指明邮件的收件人 2967603994@qq.com
                message.setRecipient(Message.RecipientType.TO,new InternetAddress(whoEmail));//收件人
                //邮件的标题
                message.setSubject(title);//邮件的标题
                message.setContent(context,"text/html;charset=UTF-8");
                message.saveChanges();
                //5.发送邮件
                ts.sendMessage(message,message.getAllRecipients());
    
                //6.关闭连接
                ts.close();
            }catch (Exception e){
                throw new RuntimeException(e);
            }
        }
    
    }
  • 相关阅读:
    cookie 当天12点 过期
    ps 前端常用技巧
    定时器遇到的坑
    ajax 会遇到的问题总结
    立即执行函数表达式 项目经常用到js 代码Module模式
    Hello world
    div position:fixed后,水平居中的问题
    关于div中图片水平垂直居中的问题
    [学习]Activiti流程引擎 入门(1) 初步认识
    SSO框架介绍前篇
  • 原文地址:https://www.cnblogs.com/qhqi/p/14164464.html
Copyright © 2020-2023  润新知