zoukankan      html  css  js  c++  java
  • Java使用qq邮箱发邮件实现

    public class MailDemo1 {
          public static void main(String[] args) throws Exception{
            Properties prop = new Properties();
            prop.setProperty("mail.host","smtp.qq.com");//设置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("获取授权码的邮箱","授权码");
                }
            });
    
            //开启Session的Debug模式,可以看到程序发送Email的运行状态
            session.setDebug(true);
    
            //2.通过Session对象获取transport对象
            Transport ts = session.getTransport();
    
            //3.使用邮箱的用户名和授权码连上邮件服务器
            ts.connect("smtp.qq.com","获取授权码的邮箱","授权码");
    
            //4.创建邮件
            //创建邮件对象
            MimeMessage message = new MimeMessage(session);
            //指定邮件的发件人
            message.setFrom(new InternetAddress("379831039@qq.com"));
            //指明邮件的收件人
            message.setRecipient(Message.RecipientType.TO,new InternetAddress("379831039@qq.com"));
            //邮件的标题
            message.setSubject("Your Baby!!");
            //邮件的文本内容
            message.setContent("<h1 style='color:pink'>爱你呦</h1>","text/html;charset=UTF-8");
            //5.发送邮件
            ts.sendMessage(message,message.getAllRecipients());
    
            //6.关闭连接
            ts.close();
        }
    }
  • 相关阅读:
    实例使用总结
    AI vs PS 矢量 VS 位图
    快捷键总结
    总结常用公共模块
    No module named MySQLdb
    Ubuntu上mysql, 通过python连接报错Can't connect to MySQL server on xxx (10061)
    移动端Vue组件库-Vant学习
    CKEditor与定制
    js如何将一个数组按照自己固定的顺序排序?
    js如何替换字符串中匹配到多处中某一指定节点?
  • 原文地址:https://www.cnblogs.com/qhqi/p/14162910.html
Copyright © 2011-2022 走看看