Java发邮件-QQ服务器认证(A secure connection is requiered(such as ssl))
Java发邮件的几种方式JavaMailCommons EmailSpring MailJavaMail是Java提供的发邮件APICommons Email是Apache Commons下的发邮件APIspring Mail 是Spring提供的发邮件API所需jar包JavaMailjavax.mail
Java发邮件的几种方式
- JavaMail
- Commons Email
- Spring Mail
JavaMail是Java提供的发邮件API
Commons Email是Apache Commons下的发邮件API
spring Mail 是Spring提供的发邮件API
所需jar包
JavaMail
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
Commons Email
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
Spring Mail
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
以Spring Mail发邮件为例
Spring配置文件如下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
mail.properties配置文件如下
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
发邮件类
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
实现类
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 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
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
如果是自己公司内部的邮件服务器,这个程序是没有任何问题的。
但当我们使用QQ邮箱尽心登陆,然后发邮箱时会报错,错误信息如下
503 Error
Authentication failed; nested exception is javax.mail.AuthenticationFailedException:
530 Error: A secure connection is requiered(such as ssl).
More information at http://service.mail.qq.com/cgi-bin/help?id=28
这是因为腾讯需要认证,才用平时的QQ邮箱用户名和密码已经不能登陆了。
解决办法
进入报错时,腾讯给的网址http://service.mail.qq.com/cgi-bin/help?id=28
就会进入客户端设置页面
什么是客户端?
答:在腾讯看来,所有不是通过腾讯页面或者客户端登陆的都属于客户端。
所以现在问题已经很清晰了,在我们用程序发送电子邮件的时候,我们的密码已经不能用了,需要采用腾讯的授权码登陆
如何获取授权码?
答:跟着腾序的帮助中心一步一步来!
授权码的获取
什么是授权码?
授权码是QQ邮箱推出的,用于登录第三方客户端的专用密码。
适用于登录以下服务:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。
通过以上可以看出,我们的程序登陆,发邮件采用的是SMTP协议,所以就必须采用授权码登陆了。
如何获取?
登陆qq邮箱
1、进入设置
2、进入账户
3、下拉到这里
点击开启
按照操作一步一步开启
开启完成之后就会得到一个授权码
所有程序登陆都次啊用授权码登陆
而且mailSender也要进行相应的修改
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
其他配置信息如下
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
这样就可以登陆QQ邮箱发邮件了!
关于发邮件,改天再详细的写出来。
参考文献
更多推荐
所有评论(0)