1st floor, Plot No - 5B, Sector - 15, Faridabad, Haryana +91 6356 6356 55contact@hannovit.com

Send an Email using Python

In today's digital age, email remains one of the most essential communication tools, both for personal and professional use. Python, a versatile and popular programming language, provides an easy and efficient way to automate the process of sending emails. Whether you want to notify users about events, send updates to your clients, or simply automate routine emails, Python makes it straightforward to achieve these tasks. In this blog, we will walk you through a step-by-step guide on how to send emails using Python.


Before we begin, you'll need to have Python installed on your computer. You can download the latest version of Python from the official website ( https//www.python.org/downloads/ ). Additionally, we will use the smtplib library to send emails, which comes built-in with Python, so there's no need for any additional installations.

Step 1: Importing The Required Libraries

import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText

Step 2: Establishing A Connection With The Email Server

Next, you need to establish a connection with your email server. For this example, we will demonstrate using Gmail's SMTP server. Replace 'your_email@gmail.com` and 'your_password' with your Gmail credentials.'def establish_connection(): server = smtplib.SMTP('smtp.gmail.com', 587)server.starttls()server.login('your_email@gmail.com', 'your_password')return server email_server = establish_connection()'

Step 3: Composing The Email

  • Now, let's create the email content, including the sender, recipients, subject, and body.'def create_email(sender, recipients, subject, body): msg = MIMEMultipart() msg['From'] = sender msg['To'] =
  • .join(recipients) msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) return msg'

Step 4: Sending The Email

With everything set up, it's time to send the email!'def send_email(server, msg): server.send_message(msg) print('Email sent successfully!') # Example usage: sender_email = 'your_email@gmail.com' recipient_emails = ['recipient1@example.com', 'recipient2@example.com'] email_subject = 'Hello from Python!' email_body = 'This is an automated email sent using Python.' email_message = create_email(sender_email, recipient_emails, email_subject, email_body) send_email(email_server, email_message)'

Step 5: Closing The Connection

After you've sent all the emails, make sure to close the connection to the email server.'def close_connection(server): server.quit() close_connection(email_server) '


Sending emails using Python is a powerful way to automate communication tasks, saving you time and effort. By following this step-by-step guide, you can easily set up your email-sending script and customize it to meet your specific needs. Remember to use this automation responsibly and avoid any actions that may violate the terms of service of your email provider. Now that you have mastered the art of sending emails using Python, you can explore additional features such as adding attachments or handling email responses. Happy coding and happy emailing!

More blog