send email to someone else is an important thing, in development it can be used to send some code such as OTP, PIN, authentication, etc.
recently, I got a project that required me to be able to send emails to users for OTP code, and it turned out to be very easy.
here is the basics step I did:
Firstly, u need to setup your google account to be able to use for sending email by Allow 2-step verification (if done, skip this step).
- Open your Google Account.
- In the navigation panel, select Security.
- Under “How you sign in to Google,” select 2-Step Verification and then Get started.
- Follow the on-screen steps. Turn on 2-step verification
Secondly, create an app password (16-digit passcode that gives a less secure app or device permission to access your Google Account).
- Make sure 2-step verification is allowed.
- Open create and manage your app password.
- Add name of the app (whatever u like), and the generated password will apear like this :
- Save the password (it will use later), don't share to anyone yeah.
Lastly, here is the basic code in python that work for me to send email :
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# creates SMTP session
s = smtplib.SMTP('smtp.gmail.com', 587)
# start TLS for security
s.starttls()
# Authentication
s.login("your_email@gmail.com", "yyaz pgow khtd xeqn")
# Create a multipart message
msg = MIMEMultipart()
msg['From'] = "your_email@gmail.com"
msg['To'] = "send_to_email@gmail.com"
msg['Subject'] = "Subject of the Email"
message = "How are you mate? This is a test email sent using Python"
# Attach the message body
msg.attach(MIMEText(message, 'plain'))
# Send the email
s.send_message(msg)
# terminating the session
s.quit()
- use the google account that has been setup (2-step verificiation) and use your email and the app password that has been generated as arguments in the s.login() like the code above.
- run it, Here's a worked example :
Feel free to ask questions if you face any difficulties :)
Sources:
Top comments (0)