首页 > 解决方案 > 连接到 google smtp gmial 服务器时出错

问题描述

这是我在尝试登录 gmail 服务器时遇到的错误:我尝试使用 ssl 连接,但我得到了同样的错误。

    send: 'ehlo Lukka-AEUSB81M.home\r\n'
reply: b'250-smtp.gmail.com at your service, [92.82.167.85]\r\n'
reply: b'250-SIZE 35882577\r\n'
reply: b'250-8BITMIME\r\n'
reply: b'250-STARTTLS\r\n'
reply: b'250-ENHANCEDSTATUSCODES\r\n'
reply: b'250-PIPELINING\r\n'
reply: b'250-CHUNKING\r\n'
reply: b'250 SMTPUTF8\r\n'
reply: retcode (250); Msg: b'smtp.gmail.com at your service, [92.82.167.85]\nSIZE 35882577\n8BITMIME\nSTARTTLS\nENHANCEDSTATUSCODES\nPIPELINING\nCHUNKING\nSMTPUTF8'
send: 'STARTTLS\r\n'
reply: b'220 2.0.0 Ready to start TLS\r\n'
reply: retcode (220); Msg: b'2.0.0 Ready to start TLS'
send: 'ehlo Lukka-AEUSB81M.home\r\n'
reply: b'250-smtp.gmail.com at your service, [92.82.167.85]\r\n'
reply: b'250-SIZE 35882577\r\n'
reply: b'250-8BITMIME\r\n'
reply: b'250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH\r\n'
reply: b'250-ENHANCEDSTATUSCODES\r\n'
reply: b'250-PIPELINING\r\n'
reply: b'250-CHUNKING\r\n'
reply: b'250 SMTPUTF8\r\n'
reply: retcode (250); Msg: b'smtp.gmail.com at your service, [92.82.167.85]\nSIZE 35882577\n8BITMIME\nAUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH\nENHANCEDSTATUSCODES\nPIPELINING\nCHUNKING\nSMTPUTF8'
send: 'AUTH PLAIN AAA=\r\n'
reply: b'535-5.7.8 Username and Password not accepted. Learn more at\r\n'
reply: b'535 5.7.8  https://support.google.com/mail/?p=BadCredentials a9sm21751596wmm.38 - gsmtp\r\n'
reply: retcode (535); Msg: b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials a9sm21751596wmm.38 - gsmtp'
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "c:\Users\stefa\Desktop\Mailing app\app.py", line 80, in send
    smtpserver.login(semail, spassword)
  File "C:\Program Files\Python38\lib\smtplib.py", line 723, in login
    (code, resp) = self.auth(
  File "C:\Program Files\Python38\lib\smtplib.py", line 635, in auth
    (code, resp) = self.docmd("AUTH", mechanism + " " + response)
TypeError: can only concatenate str (not "bytes") to str

这是我的python代码:

   # ECHO is on.
   import smtplib, ssl
   from email.mime.text import MIMEText
   from email.mime.multipart import MIMEMultipart
   from tkinter import *
   from tkinter import ttk, messagebox


   # Create GUI interface for retrieving variables.
   window = Tk()
   window.title("Email app")
   window.geometry('1500x700')
   window.configure(background = "gray")

   SEmail = Label(window ,text = "Enter your email:",background = "gray")
   SEmail.grid(row = 0,column = 0)
   iSEmail = Entry(window, background = "gray")
   iSEmail.grid(row = 0,column = 1)

   SPassword = Label(window ,text = "Enter your password:", background = "gray")
   SPassword.grid(row = 1,column = 0)
   iPassword = Entry(window,background = "gray")
   iPassword.grid(row = 1,column = 1)

   REmail = Label(window ,text = "Receiver email:", background = "gray")
   REmail.grid(row = 2,column = 0)
   iREmail = Entry(window, background = "gray")
   iREmail.grid(row = 2,column = 1)

   semail = str(iSEmail.get())
   semail.strip
   semail.replace(' ','')

   spassword =  str(iPassword.get())
   spassword.strip
   spassword.replace(' ','')

   remail = str(iREmail.get())
   remail.strip
   remail.replace(' ','')

   Div = Label(window ,text = "\t\t\t\t\t\t\n\t\t\t\t\t\t", background = "gray")
   Div.grid(row = 5,column = 0)

   Subject = Label(window ,text = "Subject:", background = "gray")
   Subject.grid(row = 6,column = 0)
   iSubject = Entry(window, background = "gray")
   iSubject.grid(row = 6,column = 1)


   LText = Label(window ,text = "Text:", background = "gray")
   LText.grid(row = 7,column = 0)
   iText = Text(window, background = "gray", height='20')
   iText.grid(row = 7,column = 1)

   # Initiate the connection to server
   def send():
      # try:
      message = MIMEMultipart("alternative")
      message["Subject"] = str(iSubject.get())
      message["From"] = semail
      message["To"] = remail

      message.attach(str(iText.get('1.0', END)))


      smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
      smtpserver.set_debuglevel(1)
      smtpserver.ehlo()
      smtpserver.starttls()
      smtpserver.ehlo()
      smtpserver.login(semail, spassword)
      smtpserver.sendmail(semail, remail, message)  
      smtpserver.quit()

   btn = Button(window, text='Send email.', command=send)
   btn.grid(row=8, column=3)

   window.mainloop()

我尝试了一些方法,例如应用程序密码和清除 catchapa,但没有奏效。我还创建了一个单独的帐户,但我得到了完全相同的错误。我应该怎么办?

标签: pythonpython-3.xemailtkinter

解决方案


推荐阅读