+ 2

Does anyone know how to send email with python?

I saw some tutorials but is not working

10th Jan 2023, 7:38 AM
Ugulberto Sánchez
Ugulberto Sánchez - avatar
8 Réponses
+ 8
Here's an example of how you can use smtplib to send an email: import smtplib sender_email = "sender@example.com" receiver_email = "receiver@example.com" password = input("Type your password and press enter:") message = """\ Subject: Hi there This message is sent from Python.""" server = smtplib.SMTP("smtp.example.com", 587) server.starttls() server.login(sender_email, password) server.sendmail(sender_email, receiver_email, message) print("Email sent!") server.quit()
10th Jan 2023, 8:56 AM
Aditya Dixit
+ 3
There are several ways to send emails using Python. One of the most popular libraries for sending emails is smtplib. smtplib is a built-in library that enables you to send email messages through an Simple Mail Transfer Protocol (SMTP) server.
10th Jan 2023, 8:56 AM
Aditya Dixit
+ 3
This code uses the SMTP class from the smtplib library to connect to the SMTP server using the specified host and port (in this case, "smtp.example.com" and 587). The starttls method is used to start an encrypted session. Then, the login method is used to log in to the SMTP server using the specified username and password. After that, the sendmail method is used to send the email message, and the quit method is used to close the SMTP connection.
10th Jan 2023, 8:57 AM
Aditya Dixit
+ 3
Another option is yagmail library which is a wrapper over smtplib, which makes it simpler to use and also it supports attachments also: import yagmail yag = yagmail.SMTP('sender@example.com', 'password') subject = 'This is the subject' body = 'This is the body' to = 'receiver@example.com' yag.send(to=to, subject=subject, contents=body)
10th Jan 2023, 8:57 AM
Aditya Dixit
+ 3
This code uses the yagmail.SMTP class to create a new connection to the SMTP server using the specified username and password, and then uses the send method to send an email with the specified subject, body, and recipient.
10th Jan 2023, 8:58 AM
Aditya Dixit
+ 3
You will need to make sure that your email account has been configured to allow access from "less secure apps", otherwise, you will not be able to connect to the SMTP server. Additionally, if you are using 2FA (two-factor authentication) you will have to generate an app password. You may also need to configure your email account to allow access from certain IP addresses or networks if you are connecting to the SMTP server from a different location.
10th Jan 2023, 9:05 AM
Aditya Dixit
+ 1
Ok, thanks ☺️
10th Jan 2023, 9:06 AM
Ugulberto Sánchez
Ugulberto Sánchez - avatar
0
And do I need to activate some permissions? Or only with the code and valid emails you can send emails? Aditya Dixit
10th Jan 2023, 9:00 AM
Ugulberto Sánchez
Ugulberto Sánchez - avatar