我正在尝试制作一个超级简单的电子邮件客户端。这将使我能够从学校向我的家庭计算机发送电子邮件,因为它们已阻止 Outlook 和 Gmail。当我尝试运行它时,它说: TypeError: get() missing 1 required positional argument: 'index1' 为了安全起见,我已经用 asterix 替换了我的电子邮件和密码。提前致谢 :)
这是我的代码:
from tkinter import *
import tkinter as tk
from email.message import EmailMessage
import smtplib
window=Tk()
window.title('Email Client')
window.geometry('200x275')
textbox2=Text(window,width=20,height=10,bg='light grey')
label2=Label(window,text='Message')
textbox1=Text(window,width=20,height=1,bg='light grey')
label1=Label(window,text='Subject')
def email_alert(subject, body, to):
msg = EmailMessage()
msg.set_content(body)
msg['subject'] = subject
msg['to'] = to
user = "*******************"
msg['from'] = user
password = "*************"
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(user, password)
server.send_message(msg)
server.quit()
if __name__ == '__main__':
def Send():
dialog = textbox1.get()
subject = textbox2.get()
email_alert(subject, dialog, "******************")
label1.pack()
textbox1.pack()
label2.pack()
textbox2.pack()
button1=Button(window,text='Send Email',width=10,height=1, command=Send)
button1.pack()
window.mainloop()
Run Code Online (Sandbox Code Playgroud)
在您的send()函数上,您需要添加get()参数。
dialog = textbox1.get("1.0",'end-1c')
subject = textbox2.get("1.0",'end-1c')
Run Code Online (Sandbox Code Playgroud)
第一部分,"1.0"意味着应该从第一行,字符零读取输入。
的end-1c是在2份分为:
end: 读到文末。1c: 从末尾开始删除 1 个字符。它删除最后一个字符以删除最后一个字符,\n因此您的电子邮件不会以多余的行结尾。
| 归档时间: |
|
| 查看次数: |
3490 次 |
| 最近记录: |