Python发邮件遇到的巨坑

  因网站需要,准备添加一个邮箱绑定的功能。使用的是django框架,因为它已经封装好了发邮件的模块,想来不会太难。结果一试,553、553、553…然后,一天过去了…

1.使用QQ邮箱发邮件

  上面提到的553,百度一查,说是没有开启POP3/SMTP服务的原因,登上qq邮箱查看,确实没有开启,于是发了验证码开启了服务,也得到了授权码。想着应该没问题,但一运行,535、535、535…懵逼的我又一查,说是验证失败。它返回的错误信息是:" 请用授权码登录 "!!我…不是刚开了授权码吗??好嘛,我再重新获取一次,再一次、再一次…自己玩去吧。

2.使用163邮箱发邮件

  在QQ的坑里徘徊许久,终于弃它而去,打算使用163邮箱。先注册了个账号,然后熟练地开启了SMTP服务,设置了自己的授权码。迫不及待地进行测试,发了一封邮件给自己的163账号,看到一封新邮件的提示,真是差点留下激动的泪水…重拾信心的我又给QQ的账号发了封邮件,然后…就没有然后了。一个巨坑在前方的路上静静潜伏着,而我毫无意外地掉入其中,从而开始了被554支配的噩梦。发给自己?可以!发给QQ?554、发给163其他用户?554…什么?说我这是垃圾邮件拒收。好,我改,我再改,我再再改,我…我改不了了!去你的反垃圾机制。

3.重回QQ邮箱

  QQ不行,163不行,mailgun被“玩坏”,sparkpost要域名。邮件绑定何去何从?最终,还是回到了起点。源于各种搜文档时无意看到的一篇文章,说是 使用QQ的SMTP服务前需要先设置邮箱的独立密码!!!前面搜了这么多文章,竟然一个没提到!无论真假,先试一试再说,先设置了邮箱的独立密码,然后再重新开启SMTP服务,得到新的授权码,一运行,熟悉的邮件提醒呈现眼前。
在这里插入图片描述
。。。。。
我以为前方从此一片坦途,真是too young too simple!竟然第二次测试就不行了,又说授权码错误!无言以对,这失效时间是不是太短了一点!!!!要是每发一次就获取一次授权码,不得累死??看来我还是远远低估了QQ的恶意。

4.柳暗花明又一村

  正当博主“山穷水尽疑无路”之时,看到了139邮箱的字眼。(之前还真不知道有这个邮箱),一查,是移动的专属邮箱。由于博主用的就是移动号,所以直接登录使用了,而且SMTP/POP3这些服务都是默认开启的,还不用授权码,直接用密码就能发邮件。试着给QQ和163分别发了一封,完全没问题!(有可能会被放到垃圾箱里)。
在这里插入图片描述
在这里插入图片描述

5.总结

弄了这么久,总算搞定了。写了这么多,回头一看,写成了吐槽文(实在是忍不住想要吐槽一番。)
最后,作为技术博客,还是放上一个干货链接吧——python自动发邮件及实例讲解

博主其他系列文章:

[1] 【python实用特性】-切片

[2] 【python实用特性】- 迭代、可迭代对象、迭代器

[3] 【python实用特性】- 列表生成式

[4] 【python实用特性】- yield生成器

[5] Python如何爬取动态网页数据

[6] Python+selenium实现自动爬取实例

[7] Python爬取豆瓣Top250-改进版

[8] requests 设置请求头、代理

你可能感兴趣的:(掉过的坑)