设置SMTP服务器时如何修复"secure_smtplib.SMTPS.connect() missing positional argument: self"错误?



我是Discord机器人通过SMTP发送电子邮件的新手。我不知道为什么出现错误

TypeError:connect((缺少1个必需的位置参数:"self">

但当我将其更改为时

secure_smtplib.SMTPS.connect(self,host=servername,port=0(

另一个错误;自我;未定义的出现。这里有什么问题?

if message.content.startswith(">verify"):
content = message.content.split(">") #>verify>SchAddress>Password>Subject>Body
servername = 'smtps.gmail.com'
password = content[2]
#setting up email
server = secure_smtplib.SMTPS.connect(host=servername, port=0)
try:
server.set_debuglevel(True)
server.ehlo()
if server.has_ext('STARTTLS'):
server.starttls()
server.ehlo()

server.login(content[1], password)
print("logged in")
email = send_email(content[1], content[3], content[4])
server.send_message(email)
finally:
server.quit()
print("email sent")
Ignoring exception in on_message
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "main.py", line 46, in on_message
server = secure_smtplib.SMTPS.connect(host=servername, port=0)
TypeError: connect() missing 1 required positional argument: 'self'

secure_smtplib.SMTPS是一个类。你需要实例化它。你可能还需要重写端口号。

server = secure_smtplib.SMTPS()
server.connect(host=servername, port=587)

相关内容

最新更新