In this post, am sharing you some useful code for sending email through python. In this program, we will use the python’s smtplib library to send emails using raspberry pi
here we discuss 2 types of mail sending codes, one is simple email sending and other is sending email with attachments
The below codes are tested to work on python 3.6 and onward versions of Python
Simple e-mail and email with attachment
import smtplib server = smtplib.SMTP('smtp.gmail.com',587) server.starttls() server.login("vtsproject006","vidya1234") msg = 'test msg' server.sendmail("vtsproject006","amitrana3348@gmail.com",msg) server.quit()
Send email using raspberry pi with subject
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText fromaddr = "YOUR ADDRESS" toaddr = "ADDRESS YOU WANT TO SEND TO" msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = toaddr msg['Subject'] = "SUBJECT OF THE MAIL" body = "YOUR MESSAGE HERE" msg.attach(MIMEText(body, 'plain')) server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(fromaddr, "YOUR PASSWORD") text = msg.as_string() server.sendmail(fromaddr, toaddr, text) server.quit()
Send email with Attachment using raspberry pi
import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from email.MIMEBase import MIMEBase from email import encoders fromaddr = "YOUR EMAIL" toaddr = "EMAIL ADDRESS YOU SEND TO" msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = toaddr msg['Subject'] = "SUBJECT OF THE EMAIL" body = "TEXT YOU WANT TO SEND" msg.attach(MIMEText(body, 'plain')) filename = "NAME OF THE FILE WITH ITS EXTENSION" attachment = open("PATH OF THE FILE", "rb") part = MIMEBase('application', 'octet-stream') part.set_payload((attachment).read()) encoders.encode_base64(part) part.add_header('Content-Disposition', "attachment; filename= %s" % filename) msg.attach(part) server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(fromaddr, "YOUR PASSWORD") text = msg.as_string() server.sendmail(fromaddr, toaddr, text) server.quit()
I am getting this error when i run the simple email program
smtplib.SMTPAuthenticationError: (535, b’5.7.8 Username and Password not accepted.
please help me