+ 2
Does anyone know how to send email with python?
I saw some tutorials but is not working
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()
+ 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.
+ 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.
+ 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)
+ 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.
+ 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.
+ 1
Ok, thanks ☺️
0
And do I need to activate some permissions? Or only with the code and valid emails you can send emails? Aditya Dixit