top of page

Send email using Raspberry pi python program

Writer's picture: Amit RanaAmit Rana

Updated: Jan 14, 2022

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()

989 views2 comments

Recent Posts

See All

Enroll to Free Courses

bottom of page