python - 连接到 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,但没有奏效。我还创建了一个单独的帐户,但我得到了完全相同的错误。我应该怎么办?
解决方案
推荐阅读
- python - 您如何最好使用 Python 将大型 SAV 文件(1k 列)放入 Postgres?
- vue.js - Vuetifyjs如何设置自定义RGBA颜色?
- vue.js - keep-alive 不缓存组件
- ruby-on-rails - Rails:关联计数的条件验证(仅在创建新关联时)
- python - 如何使用 Scrapy 下载图像
- flutter - 错误:“Widget”类型的值不能分配给“File”类型的变量
- java - 匹配和排除单词/字符串的正则表达式
- c# - 如何使用 System.Func 应用 using-pattern?
- c# - 反正有没有根据两个值的差异对列表进行排序?
- java - 如何在Android画布中按顺序为多个路径设置动画?