- Code: Select all
import smtplib
class Email():
'''appears you must login with web browser fist
to bypass captcha and then logout after reboot???'''
def data(self, server=None, port=None, sender=None, password=None, receiver=None, subject=None, body=None):
'''change data or leave as default'''
if not server:
self.server = 'smtp.gmail.com'
else:
self.server = server
if not port:
self.port = 587
else:
self.port = port
if not sender:
self.sender = 'SENDER_GMAIL_ACCOUNT@gmail.com'
self.password = SENDER_PASSWORD'
else:
self.sender = sender
self.password = password
if not receiver:
self.receiver = 'RECIEVER'
else:
self.receiver = receiver
if not subject:
self.subject = 'Gmail SMTP Test'
else:
self.subject = subject
if not body:
self.body = 'blah blah blah'
else:
self.body = body
def format_it(self):
'''format data to proper structure'''
self.body = "" + self.body + ""
self.headers = ["From: " + self.sender,
"Subject: " + self.subject,
"To: " + self.receiver,
"MIME-Version: 1.0",
"Content-Type: text/html"]
self.headers = "\r\n".join(self.headers)
def send(self):
'''login and send'''
self.session = smtplib.SMTP(self.server, self.port)
self.format_it()
self.session.starttls()
self.session.login(self.sender, self.password)
self.session.sendmail(self.sender, self.receiver, self.headers + "\r\n\r\n" + self.body)
self.session.quit()
if __name__ == '__main__':
email = Email()
email.data(
receiver='metulbot@gmail.com',
subject='Python emailer',
body='This email was sent via a Python script'
)
email.send()
print('Mail Sent Successfully')
