C'est le moyen le plus simple de commencer à envoyer des e-mails avec Python en utilisant seulement deux bibliothèques, smtplib et email.
Nous utiliserons l'API RESTful gratuite de Gmail dans cet exemple.
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText message = MIMEMultipart() message["To"] = 'To line here.' message["From"] = 'From line here.' message["Subject"] = 'Subject line here.' title = '<b> Title line here. </b>' messageText = MIMEText('''Message body goes here.''','html') message.attach(messageText) email = 'Your Gmail address here.' password = 'Your app password here.' server = smtplib.SMTP('smtp.gmail.com:587') server.ehlo('Gmail') server.starttls() server.login(email,password) fromaddr = 'From line here.' toaddrs = 'Address you send to.' server.sendmail(fromaddr,toaddrs,message.as_string()) server.quit()
Tout d'abord, importons smtplib puis MIMEMultipart et MIMEText depuis email.mime.multipart et email.mime.text respectivement :
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText
Nous appelons ensuite MIMEMultiPart() et l'instancions dans la variable Message. Nous donnons ensuite une valeur de chaîne à chaque variable qui sont Message, To, From et Subject, elle devrait ressembler à ceci :
Message = MIMEMultipart() Message["To"] = 'To line here.' Message["From"] = 'From line here.' Message["Subject"] = 'Subject line here.'
Nous allons également donner un titre à notre e-mail via la variable title et ajouter un message via MIMEText() et l'instancier dans la variable messageText et enfin joindre notre e-mail à notre variable principale Message en utilisant la fonction attach(), ça devrait ressembler à ça :
title = '<b> Title line here. </b>' messageText = MIMEText('''Message body goes here.''','html') Message.attach(messageText)
Ajoutons notre adresse Gmail et notre mot de passe d'application, cliquez sur le lien ici si vous ne savez pas comment en obtenir un :
email = 'Your Gmail address here.' password = 'Your App password here.'
Ensuite, nous devrons nous connecter au serveur SMTP de Gmail, nous le ferons en utilisant la bibliothèque smtplib et nous aurons besoin de deux variables qui sont le serveur auquel nous voulons nous connecter et le port qui est smtp.gmail.com et 587 respectivement.
En utilisant la bibliothèque smtplib, nous appellerons la fonction SMTP et ajouterons les variables du serveur et du port comme arguments, cela devrait ressembler à ceci :
smtplib.SMTP('smtp.gmail.com:587') (n'oubliez pas le : entre eux)
Nous allons ensuite l'instancier sur le serveur de variables :
server = smtplib.SMTP('smtp.gmail.com:587')
Nous ajoutons ensuite une instruction ehlo en utilisant server.ehlo('Gmail'), cela devrait être votre nom de domaine, ceci est utile lors de l'envoi d'un e-mail à un autre serveur de messagerie qui prend en charge ESMTP, gardons les choses simples et mettons simplement Gmail :
server.ehlo('Gmail')
Démarrons également le protocole TLS avec server.starttls(), cela indique au serveur de messagerie que nous voulons envoyer notre email via une connexion sécurisée :
server.starttls()
Nous nous connecterons ensuite au serveur de messagerie en utilisant cette ligne :
server.login(email,password)
Ajoutons une adresse d'expéditeur et une ou plusieurs adresses, en utilisant respectivement fromaddr et toaddrs :
fromaddr = 'Your Gmail address.' toaddrs = 'Destination address.'
Enfin, nous envoyons notre email en utilisant server.sendmail(fromaddr,toaddrs,message.as_string()) et nous fermons notre connexion au serveur de messagerie en utilisant server.quit() :
server.sendmail(fromaddr,toaddrs,message.as_string()) server.quit()
Enregistrez-le dans un fichier appelé send_email.py, ouvrez un terminal si vous êtes sous Linux ou une invite de commande si vous êtes sous Windows et lancez-le en utilisant python send_email.py et vous devriez voir ceci :
Si rien ne se passe, et bien bonne nouvelle ça marche !
Vous devriez avoir reçu un e-mail à votre(vos) e-mail(s) de destination, voici ce que j'ai reçu :
L'envoi d'e-mails à l'aide de Python et du serveur SMTP gratuit de Gmail est le moyen le plus simple de commencer à envoyer des e-mails dans votre code Python. C'est exactement ce que j'ai fait lorsque j'ai créé ma première entreprise en ligne. Vous pouvez en savoir plus ici.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!