使用 smtplib、ssl 和 bottle.py 以 python 发送电子邮件时出错

Error with sending emails with python using smtplib, ssl and bottle.py

所以我正在使用 https://realpython.com/python-send-email/#sending-a-plain-text-email

我正在使用这段代码

import smtplib, ssl

port = 465  # For SSL
smtp_server = "smtp.gmail.com"
sender_email = "my@gmail.com"  # Enter your address
receiver_email = "your@gmail.com"  # Enter receiver address
password = input("Type your password and press enter: ")
message = """\
Subject: Hi there

This message is sent from Python."""

context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)

而且我已经更改了一些位,例如密码和我需要的邮件,但是当我发送电子邮件时却收到此错误

File "main.py", line 32, in sendmail
    with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
TypeError: __init__() got an unexpected keyword argument 'context'

当我在一个普通的 .py 文件中尝试这段代码时它可以工作但是当我将它与 bottle.py 一起使用时它给了我那个错误,我不认为它是因为其他包,任何帮助都会很感激赞赏

@Sam H 的评论是正确的:使用 context 作为位置参数,而不是将其作为带有 context=context.

的关键字参数传递
with smtplib.SMTP_SSL(smtp_server, port, context) as server:

我认识的人今天为我做了这件事,我知道他做了什么,但它奏效了,当我做 'context' 而不是 'context=context' 时,它给了我另一个错误,但现在好了