here is my code:
class Email_Stuff():
def __init__(self):
self.emailaddr = None
self.recipaddr = None
self.EmailUser = None
self.EmailPass = None
def From_Email(self):
self.emailaddr = turtle.textinput("Your Email", "What is your email address?")
def To_Email(self):
self.recipaddr = turtle.textinput("Client Email", "What is your client's email address?")
def Email_Username(self):
self.EmailUser = turtle.textinput("Your Email Username", "What is your email username?")
def Email_Password(self):
self.EmailPass = turtle.textinput("Your Email Password", "What is your email Password?")
def Send_Email(self):
print (self.emailaddr) #these are here for me to see if it is the right input
print(self.recipaddr)
print(self.EmailUser)
print(self.EmailPass)
import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.login((self.EmailUser),(self.EmailPass))
self.message = "Python Test Email"
server.sendmail(self.emailaddr,self.recipaddr,self.message)
I have a button connected to Email_Stuff.From_Email and a button connected to Email_Stuff.From_Email etc...
Whenever I press the button to open up the turtle window it gives me this error:
Exception in Tkinter callback
Traceback (most recent call last):
Fileline "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/tkinter/__init__.py", 1475, in __call__
return self.func(*args)
TypeError: From_Email() missing 1 required positional argument: 'self'
But then if I take out the selfs from the From_Email and To_Email etc..
class Email_Stuff():
def __init__(self):
self.emailaddr = None
self.recipaddr = None
self.EmailUser = None
self.EmailPass = None
def From_Email():
self.emailaddr = turtle.textinput("Your Email", "What is your email address?")
def To_Email():
self.recipaddr = turtle.textinput("Client Email", "What is your client's email address?")
def Email_Username():
self.EmailUser = turtle.textinput("Your Email Username", "What is your email username?")
def Email_Password():
self.EmailPass = turtle.textinput("Your Email Password", "What is your email Password?")
def Send_Email(self):
print (self.emailaddr) #these are here for me to see if it is the right input
print(self.recipaddr)
print(self.EmailUser)
print(self.EmailPass)
import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.login((self.EmailUser),(self.EmailPass))
self.message = "Python Test Email"
server.sendmail(self.emailaddr,self.recipaddr,self.message)
I get this error message (this isnt all of it):
self.emailaddr = turtle.textinput("Your Email", "What is your email address?")
NameError: global name 'self' is not defined
here is the button code:
Email_Button = Button(root, text='Enter Your Email', command=Email_Stuff.From_Email)
Email_Button.pack()
Email_Button.place(x=250,y=210)
I'm sorry for the long post