这两天在用php做一个系统的登录模块,在通过邮件注册时,逻辑时输入邮箱,正则验证通过后可以点击获取验证码向该邮箱发送一封服务器端生成的邮件,其中包含验证码,输入验证码验证过后才会显示注册成功,将新用户账号写入数据库,结果,就在发送邮件时出错了!
我在网上找了一个封装好的类smtp.php,然后使用配套的例子测试,结果先是发现php代码报错了,看了一下代码,原来的代码是php5.3版本以下的,正则的匹配规则和函数都变了,然后修改过测试,结果还是报错,主要错误代码为:Error: authentication failed Error: Remote host returned "535 Error: authentication failed" Error: Error occurred while sending HELO command.
因为我输入的邮箱账号密码是正确的,然后想是不是其他方面导致验证失败了,然后网上各种找demo、找教程,最后发现半点用处都没有,还是某个论坛一个回答提醒了我:是不是密码输错了?
然后我才想到了使用授权码而不是密码,将密码替换为授权码测试,十几秒后收到了邮件……
没想到纠结了半天的问题就这么简单……
特此写篇文章记录:不要小看任何错误提示!!!!!
将修改过的smtp.php和sendEmailTest.php打包上传到下载频道了,有兴趣的朋友可以下载修改使用,注意使用授权码!!!