python - 为什么 smtplib 不适用于所有电子邮件服务?
问题描述
import smtplib
EMAIL = 'email@email.com'
PASS_EMAIL = '**********'
email = "another@email.com"
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.starttls()
smtpObj.login(EMAIL, PASS_EMAIL)
smtpObj.sendmail(EMAIL, email, "Hello, a message for testing!")
smtpObj.quit()
此代码与 gmail 完美配合。但是,它并不总是适用于 yandex(有时我没有收到电子邮件),并且它根本不适用于 mail.ru 和 rambler.ru。我该如何解决?
挖掘输出:
; <<>> DiG 9.16.8-Debian <<>> gmail.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45942
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 9
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;gmail.com. IN TXT
;; ANSWER SECTION:
gmail.com. 114 IN TXT "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
gmail.com. 114 IN TXT "v=spf1 redirect=_spf.google.com"
;; AUTHORITY SECTION:
gmail.com. 138453 IN NS ns4.google.com.
gmail.com. 138453 IN NS ns1.google.com.
gmail.com. 138453 IN NS ns3.google.com.
gmail.com. 138453 IN NS ns2.google.com.
;; ADDITIONAL SECTION:
ns2.google.com. 311240 IN A 216.239.34.10
ns2.google.com. 311240 IN AAAA 2001:4860:4802:34::a
ns1.google.com. 311240 IN A 216.239.32.10
ns1.google.com. 311240 IN AAAA 2001:4860:4802:32::a
ns3.google.com. 311248 IN A 216.239.36.10
ns3.google.com. 311248 IN AAAA 2001:4860:4802:36::a
ns4.google.com. 311248 IN A 216.239.38.10
ns4.google.com. 311248 IN AAAA 2001:4860:4802:38::a
;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Ср янв 27 21:52:15 +05 2021
;; MSG SIZE rcvd: 414
解决方案
推荐阅读
- java - 如何从 java.net 下载 OpenJDK 8 源代码
- python - Kivy 将图像作为按钮添加到另一个页面
- gradle - Xtext:无法解析对 JvmType MyGeneratorModule 的引用
- python - 图像中的文字是否为粗体?
- sass - 在主题引导程序 4 中覆盖默认的 $border-radius-lg 变量
- windows - Windows MongoDB 日志非常大
- c# - 如何编写一个映射函数,该函数接受一串 json 有效负载和另一串映射并返回一串映射数据
- swift - 如何使用 AVFoundation 在 macOS 中捕获视频数据?
- entity-framework - ASP.NET Core 2.1 MVC - 将每个请求记录到数据库
- nuxt.js - 如何使用 Nuxt 模块扩展路由?