Invia e-mail in Python
Najwa Riyaz
12 ottobre 2021
Python
Python SMTP

Per inviare un’e-mail utilizzando Python, utilizzare le seguenti funzioni dalla libreria smtplib
.
SMTP(SMTP_SERVER, SMTP_PORT)
- crea una sessione SMTP secondo il server SMTP e i dettagli della porta SMTP.starttls()
- per avviare il TLS per l’impostazione della sicurezza.login(SMTP_USERNAME, SMTP_PASSWORD)
- per fornire i dettagli di autenticazione del mittente dell’e-mail.sendmail(EMAIL_FROM, EMAIL_TO, the_message)
- per inviare il messaggio dal mittente al destinatario.quit()
per uscire dalla sessione SMTP.
Ecco un esempio che dimostra l’invio di posta tramite il server SMTP di Gmail.
Python
pythonCopyimport smtplib
SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SMTP_USERNAME = "sender_username_here@gmail.com"
SMTP_PASSWORD = "sender_password_here"
EMAIL_FROM = "sender_username_here@gmail.com"
EMAIL_TO = "receiver_username_here@gmail.com"
EMAIL_SUBJECT = "Attention:Subject here"
EMAIL_MESSAGE = "The message here"
s = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
s.starttls()
s.login(SMTP_USERNAME, SMTP_PASSWORD)
message = "Subject: {}\n\n{}".format(EMAIL_SUBJECT, EMAIL_MESSAGE)
s.sendmail(EMAIL_FROM, EMAIL_TO, message)
s.quit()
L’output potrebbe apparire come segue secondo la connessione creata in quel punto nel tuo sistema:
Python
pythonCopy(221, b"2.0.0 closing connection t12sm4676768pfc.133 - gsmtp")
Di conseguenza, l’e-mail viene inviata. Il destinatario riceve il messaggio con successo.
Nota:
- In caso di Gmail, fornire i seguenti dettagli SMTP:
Bash
bashCopySMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
Inoltre, la seguente impostazione deve essere abilitata in Gmail prima di eseguire il codice.
Bash
bashCopyhttps://myaccount.google.com/lesssecureapps
- In caso di Yahoo Mail, fornire i seguenti dettagli SMTP:
Bash
bashCopySMTP_SERVER = "smtp.mail.yahoo.com"
SMTP_PORT = 587
Inoltre, genera una Password app
di Yahoo prima di eseguire il codice. Controlla il link qui sotto.
https://help.yahoo.com/kb/generate-separate-password-sln15241.html
- Allo stesso modo, se desideri utilizzare qualsiasi altro provider di posta, utilizza i dettagli e i prerequisiti del rispettivo server SMTP.
Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti