博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java maven通过SMTP发送QQ邮件的完全步骤
阅读量:6970 次
发布时间:2019-06-27

本文共 2018 字,大约阅读时间需要 6 分钟。

1、首先打开QQ邮箱的SMTP服务,因为QQ邮箱对于一般的用户都是默认关闭SMTP服务的。

找到SMTP服务的选项,可以看到此处默认是关闭的,点击开启,然后腾讯会进行一些身份验证,身份验证通过以后,腾讯会给出一个用于使用SMTP的16位口令,此处这个口令一定牢记,因为后面要使用SMTP功能必须要用到这个口令,没有这个口令即使知道QQ邮箱密码也没有用,此处未给出口令的截图,毕竟为了隐私保密,不然大家都可以登录使用我的QQ邮箱SMTP服务了。后面我们将该口令记为SMTP口令。 

生成授权码。

首先,要使用的邮箱功能需要javax.mail这个jar包:

依赖:

javax.mail
mail
1.4.7

 

发送邮件代码:

// 创建Properties 类用于记录邮箱的一些属性        Properties props = new Properties();        // 表示SMTP发送邮件,必须进行身份验证        props.put("mail.smtp.auth", "true");        //此处填写SMTP服务器        props.put("mail.smtp.host", "smtp.qq.com");        //端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587        props.put("mail.smtp.port", "587");        // 此处填写你的账号        props.put("mail.user", "xxxxxxx@qq.com");        // 此处的密码就是前面说的16位STMP口令        props.put("mail.password", "xxxxxxxxxxxxxxxxxxx");        // 构建授权信息,用于进行SMTP进行身份验证        Authenticator authenticator = new Authenticator() {            protected PasswordAuthentication getPasswordAuthentication() {                // 用户名、密码                String userName = props.getProperty("mail.user");                String password = props.getProperty("mail.password");                return new PasswordAuthentication(userName, password);            }        };        // 使用环境属性和授权信息,创建邮件会话        Session mailSession = Session.getInstance(props, authenticator);        // 创建邮件消息        MimeMessage message = new MimeMessage(mailSession);        // 设置发件人        InternetAddress form = new InternetAddress(                props.getProperty("mail.user"));        message.setFrom(form);        // 设置收件人的邮箱        InternetAddress to = new InternetAddress("xxxxxxxx@qq.com");        message.setRecipient(RecipientType.TO, to);        // 设置邮件标题        message.setSubject("测试邮件");        // 设置邮件的内容体        message.setContent("这是一封测试邮件", "text/html;charset=UTF-8");        // 最后当然就是发送邮件啦        Transport.send(message);

好了,以上就可以了。

 

如果生产环境不能发送邮件,则要绑定host。

转载地址:http://bjasl.baihongyu.com/

你可能感兴趣的文章
Node.js文件上传
查看>>
tp5 加载 extend 类库的方法 (有命名空间和没有命名空间的调用)
查看>>
运营一款电视盒子需要注意什么?
查看>>
网络协议 9 - TCP(下)
查看>>
js中的模块化——commonjs,AMD,CMD,UMD,ES6
查看>>
Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码
查看>>
Linux telnet命令
查看>>
用过的一些Markdown编辑器
查看>>
【刷算法】LeetCode.326-3的幂
查看>>
追踪解析Spring ioc启动源码(3)
查看>>
学习区块链中的主要问答
查看>>
5步告诉你QQ音乐的完美音质是怎么来的,播放器的秘密都在这里
查看>>
VisualVm利用SSL连接JMX的方法
查看>>
Linux docker-compose 实战
查看>>
Python--Redis实战:第四章:数据安全与性能保障:第6节:Redis事务
查看>>
Redis中使用Lua的一些优化和注意事项
查看>>
elk 第二篇 , 为elk加入redis, 替换下beats
查看>>
javescript经验文档(Array篇)
查看>>
react-native-camera 遇坑笔记
查看>>
8102 年的现代 Web 开发最佳实践(笑)
查看>>