背景:从其他换成163邮箱了,使用以前的配置会报错。
在网上找到了域名是mai.qiye.163.com,端口是465,报错如下:
Error: dial tcp xxx connect: connection timed out
经查找163的文档发现是域名不对,正确的域名需要在163文档中心查询,查询域名地址:https://qy.163.com/help/client-profile.html
域名换成smtphz.qiye.163.com后报错如下:
Error: 535 5.7.0 ERR.LOGIN.REQCODE
经查找需要在163邮箱的设置里开通IMAP/SMTP协议服务,并生成授权码。
得到授权码后还是的报以上错误,这时我想起在设置授权码的时候有个客户端名称选项,我当时输入的是ABC,于是我就把用户名换成了刚设置的名称ABC,密码是授权码,又报错了,报错如下:
535 5.7.0 ERR.ILLEGAL.EMAIL
经查以为是邮件的格式不正确,把发送邮件的内容换成测试两个字,发现报错还是如此,几经折腾还是不行,于是又把用户名换成邮箱名,报错回到了第二个LOGIN.REQCODE,于是我仔细读取了以前的代码,发现配置密码时进行了BASE64编码,去掉编码,直接填写上授权码,邮件就成功发送了。
当提示账号和密码不正确时,除了检查账号密码是否正确外,还要检查用户名和密码是否被编码。