簡體   English   中英

設置 SMTP 服務器時如何修復“secure_smtplib.SMTPS.connect() 缺少位置參數:self”錯誤?

[英]How to fix "secure_smtplib.SMTPS.connect() missing positional argument: self" error when setting up SMTP server?

我是編寫 Discord 機器人腳本以通過 SMTP 發送電子郵件的新手。 我不知道為什么會出現錯誤

類型錯誤: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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM