发送QQ邮件

import com.sun.mail.util.MailSSLSocketFactory

import javax.mail.*
import javax.mail.internet.InternetAddress
import javax.mail.internet.MimeBodyPart
import javax.mail.internet.MimeMessage
import javax.mail.internet.MimeMultipart

        //--------创建Session 开始-------------
        Properties prop = new Properties();
        prop.setProperty("mail.smtp.host", "smtp.qq.com")   // 指定主机
        prop.put("mail.smtp.port", "465")
        prop.setProperty("mail.smtp.auth", "true");// 指定验证为true

        MailSSLSocketFactory sf = new MailSSLSocketFactory()
        sf.setTrustAllHosts(true);
        prop.put("mail.smtp.ssl.enable", "true");
        prop.put("mail.smtp.ssl.socketFactory", sf);
        // 创建验证器
        Authenticator auth = new Authenticator() {
            @Override
            public PasswordAuthentication getPasswordAuthentication() {
                //密码为:授权码
                return new PasswordAuthentication("[email protected]", "xfzljfvaaaffcach");
            }
        };
        Session session =Session.getInstance(prop, auth)
        session.setDebug(true)
        //--------创建Session 结束-------------

        MimeMessage mailMessage = new MimeMessage(session)
        mailMessage.setFrom(new InternetAddress("[email protected]"))

        // Message.RecipientType.TO属性表示接收者的类型为TO
        mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));
        mailMessage.setSubject("这是邮件主题", "UTF-8");
        mailMessage.setSentDate(new Date());
        // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
        Multipart mainPart = new MimeMultipart();
        // 创建一个包含HTML内容的MimeBodyPart
        BodyPart html = new MimeBodyPart();
        html.setContent("<a href='https://www.baidu.com'>百度</a>", "text/html; charset=utf-8");
        mainPart.addBodyPart(html);
        mailMessage.setContent(mainPart);
        Transport transport = session.getTransport();
        //密码为:授权码
        transport.connect("smtp.qq.com", 465, "[email protected]", "xfzljfvaaaffcach")
        transport.sendMessage(mailMessage, [new InternetAddress("[email protected]")] as Address[])
        transport.close()

猜你喜欢

转载自blog.csdn.net/u013037661/article/details/51481830