我正在编写一个小的 python 脚本来发送电子邮件,但我的代码甚至无法通过 smtp 连接。我正在使用以下代码,但我从未看到“已连接”。此外,我没有看到抛出异常,所以我认为它挂在某些东西上。
import os
import platform
import smtplib
#Define our SMTP server. We use gmail. Try to connect.
try:
server = smtplib.SMTP()
print "Defined server"
server.connect("smtp.gmail.com",465)
print "Connected"
server.ehlo()
server.starttls()
server.ehlo()
print "Complete Initiation"
except Exception, R:
print R
Run Code Online (Sandbox Code Playgroud)
端口 465 用于 SMTPS;要连接到 SMTPS,您需要使用 SMTP_SSL;但是SMTPS 已被弃用,您应该使用 587(带有starttls)。(另请参阅有关 SMTPS 和 MSA 的答案)。
其中任何一个都可以工作: 587 与starttls:
server = smtplib.SMTP()
print("Defined server")
server.connect("smtp.gmail.com",587)
print("Connected")
server.ehlo()
server.starttls()
server.ehlo()
Run Code Online (Sandbox Code Playgroud)
或465 与SMTP_SSL.
server = smtplib.SMTP_SSL()
print("Defined server")
server.connect("smtp.gmail.com", 465)
print("Connected")
server.ehlo()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7411 次 |
| 最近记录: |