如何做到这一点(Gmail服务器Python编码)



这是我的代码。

import smtplib
from Tkinter import *
def sendgmail(froma, toa, usern, passw, message):
    server = smtplib.SMTP('smtp.gmail.com:587')
    server.starttls()
    server.login(username, password)
    server.sendmail(fromaddr, toaddr, msg)
    server.quit()
maingui = Tk()
maingui.title('Gmail Sender')
fromaddrvar = StringVar()
toaddrvar = StringVar()
usernamevar = StringVar()
passwordvar = StringVar()
msgvar = StringVar()
fromaddre = Entry(maingui, textvariable=fromaddrvar).pack()
toaddre = Entry(maingui, textvariable=toaddrvar).pack()
usernamee = Entry(maingui, textvariable=usernamevar).pack()
passworde = Entry(maingui, textvariable=passwordvar).pack()
msge = Entry(maingui, textvariable=msgvar)
fromaddr = fromaddrvar.get()
toaddr = toaddrvar.get()
username = usernamevar.get()
password = passwordvar.get()
msg = msgvar.get()
inputbut = Button(text='send', command=sendgmail(fromaddr, toaddr, username, password, msg)).pack()

当我运行代码时,我会得到以下错误。

Traceback (most recent call last):
  File "D:/Anand/Coding/Python/PyCharm Community Edition 3.0.1/Projects/Gmail Sender/Main.py", line 34, in <module>
    sendgmailcall = sendgmail(fromaddr, toaddr, username, password, msg)
  File "D:/Anand/Coding/Python/PyCharm Community Edition 3.0.1/Projects/Gmail Sender/Main.py", line 9, in sendgmail
    server.login(username, password)
  File "C:Python27libsmtplib.py", line 614, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more atn5.7.8 http://support.google.com/mail/bin/answer.py?answer=14257 x4sm76670047eef.1 - gsmtp')

顺便说一句,我正在Pycharm 3.0中运行代码。我是服务器和系统编程的新手。

请帮助我给出解决方案并进行解释。

server.starttls()之前添加server.ehlo()

最新更新