为什么我的 Python SMTPLib 电子邮件脚本不起作用以及如何修复它?

问题描述 投票:0回答:1

所以我使用了 Youtube 教程 编写了一个基本的 Python 电子邮件脚本。评论说该视频非常有帮助,但我的代码无法运行。

我的代码看起来像这样

from email.message import EmailMessage
import ssl
import smtplib

email_sender = '[email protected]'
email_password = "corr ectp assw ords"

email_receiver = '[email protected]'

subject = 'Written by Code!'
body = """
    This was written by my program! Tell me if it worked.
"""

em = EmailMessage()
em['From'] = email_sender
em['To'] = email_receiver
em['Subject']
em.set_content(body)

context = ssl.create_default_context()

with smtplib.SMTP_SSL('smtp.gmail.com', 465, context) as smtp:
    smtp.login(email_sender, email_password)
    smtp.sendmail(email_sender, email_receiver, em.as_string())

错误看起来像这样:

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

有人知道它为什么失败以及我该如何修复它吗?谢谢!

python email gmail gmail-api smtplib
1个回答
0
投票

所以我解决了我的问题。我不得不将

smtplib.SMTP_SSL('smtp.gmail.com', 465, context)
切换为 `smtplib.SMTP_SSL('smtp.gmail.com')

我不知道为什么它有效

© www.soinside.com 2019 - 2024. All rights reserved.