さて、Pythonを使用してGUIベースの電子メールクライアントを作成するために書いた次のコードがあります。私はtkinterを使用しました。ユーザーがエントリウィジェットに書き込むテキストが変数sender、password、receiver、messageに割り当てられるようにします。メッセージの送信者、パスワード、受信者、およびテキスト ウィジェットの値を取得するためにエントリ ウィジェットを使用しました。その方法を教えてください。このために多くのメソッド (get メソッド、textvariable メソッドなど) を試しましたが、実行されませんでした。初心者なので、クラスを含まない回答を好むでしょう。すぐに返信してください!緊急です。助けてくれてありがとう。変数送信者に値を割り当てる場合に私がしたことを示しているだけですが、すべての4 つの変数。
import smtplib
from Tkinter import *
import tkMessageBox
def Composemail(sender,password,receivers,message):
try:
server = smtplib.SMTP()
server.connect('smtp.gmail.com',587) # for eg. host = 'smtp.gmail.com', port = 587
server.ehlo()
server.starttls()
server.login(sender, password)
server.sendmail(sender, receivers, message)
#smtpObj = smtplib.SMTP_SSL('smtp.gmail.com',587)
#smtpObj.sendmail(sender, receivers, message)
tkMessageBox.showinfo("Sending Mail information","Mail sent.")
except smtplib.SMTPException, error:
tkMessageBox.showinfo("Sending Mail information","Sending Mail failed.Try again later.")
a=Tk()
a.title("MailsNow-A new place for sending emails")
a.geometry("1000x700")
b=Label(a,fg="Purple",text="From")
b.pack()
sender=StringVar() #the problem starts here
c=Entry(a,bd=5,width=100,textvariable=sender)
c.pack()
d=Label(a,fg="Purple",text="Password")
d.pack()
e=Entry(a,bd=5,width=100,show="*")
e.pack()
password='abc'
f=Label(a,fg="Purple",text="To")
f.pack()
receivers = 'abc@gmail.com'
g=Entry(a,bd=5,width=100)
g.pack()
h=Label(a,fg="Purple",text="Subject")
h.pack()
i=Entry(a,bd=5,width=100)
i.pack()
j=Label(a,fg="Purple",text="Type your email here")
j.pack()
k=Text(a,bd=5,height=20,width=100)
k.pack()
message = """From: From Person <abc@gmail.com>#I want to know how to do the same for text #widget too
To: To Person <xyz@gmail.com>
Subject: SMTP e-mail test
Hi , now I can send you emails using this......hurrah1!using Sending mail transfer protocol by a python
code!!!!
"""
l=Button(a,
text="Sendmail",bg="Purple",activebackground="Yellow",
command=lambda:Composemail(sender,password,receivers,message))
l.pack()
a.mainloop()