Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. # Coded by Barlan. 2015
  2. from tkinter import *
  3. from tkinter.messagebox import showinfo, showerror
  4. import smtplib
  5.  
  6. class Login(Tk):
  7. '''Here the Login window appears and receives data from:
  8. - Email account.
  9. - Password.
  10. Furthermore, tries to log in to your gmail account.'''
  11. def __init__(self):
  12. try:
  13. self.gmail = smtplib.SMTP("smtp.gmail.com", 587)
  14. except Exception as e:
  15. showerror("Fatal Error", str(e))
  16. exit()
  17. Tk.__init__(self)
  18. #self.geometry("268x157")
  19. self.resizable(0,0)
  20. self.title("e-Sender")
  21. self.config(bg="black")
  22.  
  23. me = StringVar()
  24. mp = StringVar()
  25. Label(self, text="Your Gmail account:", bg="black", fg="green").grid(row = 0, column = 0, sticky=W)
  26. self.my_email = Entry(self, textvariable=me, width = 25)
  27. self.my_email.grid(row = 0, column = 1)
  28.  
  29. Label(self, text="Your Password:", bg="black", fg="green").grid(row = 1, column = 0, sticky=W)
  30. self.my_passw = Entry(self, textvariable=mp, width = 25)
  31. self.my_passw.grid(row = 1, column = 1)
  32.  
  33. self.email_button = Button(self, text="Enter", command=self.login_gmail, bg="black", fg="green")
  34. self.email_button.grid(row = 2, column = 0, sticky=NSEW)
  35.  
  36. salir = Button(self, text="Exit", command=self.quit, bg="black", fg="red")
  37. salir.grid(row = 2, column = 1, sticky=NSEW)
  38.  
  39. def login_gmail(self):
  40. account = self.my_email.get()
  41. self.password = self.my_passw.get()
  42. self.gmail.ehlo()
  43. self.gmail.starttls()
  44. try:
  45. self.gmail.login(account, self.password)
  46. showinfo("Success", "You are now logged in Gmail.")
  47. except:
  48. showerror("Error", "Unable to login into %s." % account)
  49. exit()
  50. gmail = self.gmail
  51. newEmail(gmail, account)
  52. self.withdraw()
  53.  
  54. class newEmail(Login):
  55. ''' Now we can create a new email, specifying:
  56. - to
  57. - subject
  58. - message'''
  59. def __init__(self, gmail, account):
  60. Tk.__init__(self)
  61. self.resizable(0,0)
  62. self.title("New Email")
  63. self.config(bg="black")
  64. self.gmail = gmail
  65. self.email = account
  66.  
  67. et = StringVar()
  68. es = StringVar()
  69. Label(self, text="From: %s" % account, bg="black", fg="orange").grid(row=0, column=0, sticky=NSEW)
  70.  
  71. Label(self, text="To:", bg="black", fg="green").grid(row = 1, column = 0, sticky=W)
  72. self.email_to = Entry(self, textvariable=et, width = 25)
  73. self.email_to.grid(row = 1, column = 1, sticky=E)
  74.  
  75. Label(self, text="Subject:", bg="black", fg="green").grid(row = 2, column = 0, sticky=W)
  76. self.email_subject = Entry(self, textvariable=es, width = 25)
  77. self.email_subject.grid(row = 2, column = 1, sticky=E)
  78.  
  79. Label(self, text="Your Message:", bg="black", fg="green").grid(row = 3, column = 0, sticky=W)
  80. self.email_msg = Text(self, width = 25, height = 5)
  81. self.email_msg.grid(row = 3, column = 1, sticky=E)
  82.  
  83. self.email_button = Button(self, text="Send", command=self.sendEmail, bg="black", fg="green")
  84. self.email_button.grid(row = 4, column = 0, sticky=NSEW)
  85.  
  86. salir = Button(self, text="Exit", command=self.quit, bg="black", fg="red")
  87. salir.grid(row = 4, column = 1, sticky=NSEW)
  88.  
  89. def sendEmail(self):
  90. self.to = self.email_to.get()
  91. self.subject = self.email_subject.get()
  92. self.msg = self.email_msg.get("1.0", END)
  93. headers = "From: %s\nTo: %s\nSubject: %s\n\n" % (self.email, self.to, self.subject)
  94. body = str(headers + self.msg)
  95. try:
  96. self.gmail.sendmail(self.email, self.to, body)
  97. showinfo("Completed","Email sent successfully to %s" % self.to)
  98. exit()
  99. except Exception as e:
  100. showerror("Error", str(e))
  101. exit()
  102.  
  103. L = Login()
  104. L.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement