【黑马程序员】使用javamail通过QQ邮箱发送邮件
在项目中,常常使用某一个邮箱地址作为项目对外的公共发送邮件的地址,QQ邮箱被使用的概率不大,但是QQ邮箱的配置使用却别其他邮箱较为复杂,下面做一个简单的demo来演示如何配置并使用QQ邮箱发送邮件
1.QQ邮箱开通POP3/SMTP服务
 
2.开启的时候需要使用你注册的手机号向腾讯发送一个短信(按照上面提示发送),发送成功之后点击“我已发送”
 
3.验证成功之后,QQ会返回一个授权码
 
4.在项目中引入javamail相关jar
    demo中使用的是javax.mail-1.5.1.jar版本
5.java代码如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
邱凯伟24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class MailUtils2 {
        private 天平座的性格static String smtp_host ="smtp.qq"; // QQ SMTP服务
        private static String username = "使用发件人邮箱地址"; // 邮箱账户
        private static String password = "iiotqaasiaiabfgc"; // 邮箱授权码-该授权码就是在开启QQPOP3/SMTP服务时返回的那串激活码
 
        private static String from = "使用发件人邮箱地址"; // 邮箱账户
 
        public static void sendMail(String subject, String content, String to) {
                //设置发送邮件的properties
                Properties props = new Properties();
                props.setProperty("mail.smtp.host", smtp_host);
                props.setProperty("ansport.protocol", "smtp");
                props.setProperty("mail.smtp.auth", "true"陆贞最后和谁在一起);
//                QQ 邮箱需要 SSL 加密
                props.setProperty("mail.smtp.auth", "true");
                props.setProperty("mail.smtp.socketFactory.class", "javax.ssl.SSLSocketFactory");
                props.setProperty("mail.smtp.port", "465");
                props.setProperty("mail.smtp.socketFactory.port", "465");
                 
                //准备连接对象
                Session session = Instance(props);
                //创建邮件信息
                Message message = new MimeMessage(session);
                try {
                        message.setFrom(new InternetAddress(from));//设置发件人
                        message.setRecipient(RecipientType.TO, new InternetAddress(to));//设置收件人以及收件人地址
                        message.setSubject(subject);//邮件主题
王大山
                        message.setContent(content, "text/html;charset=utf-8");//支持富文本内容
                        Transport transport = Transport();
                        t(smtp_host, username, password);
                        transport.sendMessage(message, AllRecipients());//发送邮件来自历史故事的成语
                } catch (Exception e) {
                        e.printStackTrace();
                        throw new RuntimeException("邮件发送失败...");
                }
        }
 
        public static void main(String[] args) {
                //测试
林夕经典歌词                sendMail("测试邮件", "你好a", "收件人邮箱地址");
        }
}

5.邮箱可以正常收到