iphone手机绑定qq邮箱及开启SMTP服务验证
在手机【设置】=> 邮件中添加账户
报错:imap不支持密码鉴定
登录pc端的qq邮箱
进入【设置】=>【账户】=>【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】
开启【IMAP/SMTP服务】(如果原来是开启的,重新关闭在开启一下)
这个时候有一个密保手机验证
验证成功之后出现如下
然后重新回去手机设置中添加就可以了
附: gmail
邮箱的获取授权码, https://www.chenweiliang.com/cwl-27998.html
qq邮箱的SMTP服务器
QQ邮箱 POP3 和 SMTP 服务器地址设置如下:
邮箱:qq.com
POP3服务器(端口995):pop.qq.com
SMTP服务器(端口465或587): smtp.qq.com
报错:Couldn’t connect to host, port: smtp.gmail.com, 25; timeout -1
示例中的代码开启的端口为 465
,用于 qq邮箱
,如果是其他的邮箱需要对应的修改一下
如 gmail
为:587
这里有一个大坑:就是我本地是使用 465
才成功的,使用 587
一直连接不上(再来一个参考意见,使用 25
也可以试试,不过我没连上)
在本地测试无任何问题,但是上传到阿里云服务器(Centos 7)上就报错
报错: Couldn't connect to host, port: smtp.163.com, 25; timeout -1;
原因: 阿里云出于安全考虑默认禁用25端口导致发邮件失败
解决:参考 https://blog.csdn.net/qq_38680405/article/details/123919728
使用google邮箱的时候,更改端口之后还是连接不上
端口使用 465
,而不是 587
(被注释掉的一段代码)
额外增加一个属性设置(这个我并没有用到,不过看到有这么写的,作为参考)
<pre class="hljs css" style="padding: 0.5em; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; color: rgb(68, 68, 68); border-radius: 4px; display: block; margin: 0px 0px 0.75em; font-size: 14px; line-height: 1.5em; word-break: break-all; overflow-wrap: break-word; white-space: pre; background-color: rgb(246, 246, 246); border: none; overflow-x: auto;">props.setProperty(“mail.smtp.socketFactory.auth”, “true”);
</pre>
<pre class="prettyprint hljs dart" style="padding: 0.5em; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; color: rgb(68, 68, 68); border-radius: 4px; display: block; margin: 0px 0px 1.5em; font-size: 14px; line-height: 1.5em; word-break: break-all; overflow-wrap: break-word; white-space: pre; background-color: rgb(246, 246, 246); border: none; overflow-x: auto;">final String smtpPort = "465";
props.setProperty("mail.smtp.port", smtpPort);
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.auth", "true");
props.setProperty("mail.smtp.socketFactory.port", smtpPort);</pre>