Les adresses e-mail temporaires sont utiles pour de nombreuses raisons, comme éviter le spam ou s'inscrire à des sites Web sans utiliser votre adresse e-mail principale. Dans ce guide, nous allons créer un système de messagerie temporaire à l'aide de Python. Cela inclut la génération d'une adresse e-mail aléatoire, l'envoi d'e-mails et la vérification de la boîte de réception.
1. Générez une adresse e-mail aléatoire
Pour créer un e-mail temporaire, nous générerons une adresse e-mail aléatoire en utilisant le random
module.
import random
import string
def generate_temp_email(domain='example.com'):
username = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10))
return f"{username}@{domain}"
temp_email = generate_temp_email()
print(f"Temporary Email: {temp_email}")
Ce code génère un nom d'utilisateur aléatoire de 10 caractères et ajoute le domaine example.com
.
2. Configurer SMTP pour l'envoi d'e-mails
Pour envoyer des e-mails à l'adresse temporaire, nous devons configurer un serveur SMTP. Dans cet exemple, nous utiliserons le serveur SMTP de Gmail.
import smtplib
from email.mime.text import MIMEText
def send_email(to_address, subject, body):
from_address = '[email protected]'
password = 'your-email-password'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_address
msg['To'] = to_address
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(from_address, password)
server.sendmail(from_address, to_address, msg.as_string())
# Example usage
send_email(temp_email, "Test Subject", "This is a test email.")
Ce code envoie un e-mail avec le spécifié subject
et body
à l'adresse e-mail temporaire à l'aide du serveur SMTP de Gmail.
3. Créez un serveur simple pour recevoir des e-mails
Pour compléter le système de messagerie temporaire, nous avons besoin d'un serveur pour recevoir les e-mails. Nous utiliserons le Flask
cadre et imaplib
module pour cela.
from flask import Flask
import imaplib
import email
app = Flask(__name__)
# IMAP server configuration for receiving emails
IMAP_SERVER = 'imap.gmail.com'
IMAP_PORT = 993
EMAIL_ACCOUNT = '[email protected]'
PASSWORD = 'your-email-password'
def check_inbox():
mail = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
mail.login(EMAIL_ACCOUNT, PASSWORD)
mail.select('inbox')
status, messages = mail.search(None, 'ALL')
email_ids = messages[0].split()
for email_id in email_ids:
status, msg_data = mail.fetch(email_id, '(RFC822)')
msg = email.message_from_bytes(msg_data[0][1])
print(f"From: {msg['from']}\nSubject: {msg['subject']}\n\n{msg.get_payload(decode=True).decode('utf-8')}")
mail.logout()
@app.route('/check_mail', methods=['GET'])
def check_mail():
check_inbox()
return "Checked Inbox"
if __name__ == '__main__':
app.run(port=5000)
Ce script configure un simple serveur Web avec Flask qui vérifie la boîte de réception des e-mails et imprime le contenu de tous les e-mails.
4. Rassembler tout cela
Nous allons maintenant combiner les étapes pour générer une adresse e-mail temporaire, envoyer un e-mail et vérifier la boîte de réception dans un seul script.
import random
import string
import smtplib
from email.mime.text import MIMEText
import imaplib
import email
from flask import Flask
app = Flask(__name__)
def generate_temp_email(domain='example.com'):
username = ''.join(random.choices(string.ascii_lowercase + string.digits, k=10))
return f"{username}@{domain}"
def send_email(to_address, subject, body):
from_address = '[email protected]'
password = 'your-email-password'
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_address
msg['To'] = to_address
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(from_address, password)
server.sendmail(from_address, to_address, msg.as_string())
IMAP_SERVER = 'imap.gmail.com'
IMAP_PORT = 993
EMAIL_ACCOUNT = '[email protected]'
PASSWORD = 'your-email-password'
def check_inbox():
mail = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
mail.login(EMAIL_ACCOUNT, PASSWORD)
mail.select('inbox')
status, messages = mail.search(None, 'ALL')
email_ids = messages[0].split()
for email_id in email_ids:
status, msg_data = mail.fetch(email_id, '(RFC822)')
msg = email.message_from_bytes(msg_data[0][1])
print(f"From: {msg['from']}\nSubject: {msg['subject']}\n\n{msg.get_payload(decode=True).decode('utf-8')}")
mail.logout()
@app.route('/check_mail', methods=['GET'])
def check_mail():
check_inbox()
return "Checked Inbox"
if __name__ == '__main__':
temp_email = generate_temp_email()
print(f"Temporary Email: {temp_email}")
send_email(temp_email, "Test Subject", "This is a test email.")
app.run(port=5000)
Conclusion
Ce guide montre comment créer un système de messagerie temporaire à l'aide de Python. Le script génère une adresse e-mail aléatoire, envoie un e-mail test et vérifie la boîte de réception. Vous pouvez personnaliser et améliorer davantage ce script en fonction de vos besoins spécifiques.
Dépendances et configuration
Pour exécuter ce script, assurez-vous que les packages Python nécessaires sont installés :
pip install Flask
Mettez également à jour le script avec vos informations d'identification de messagerie et assurez-vous que votre compte de messagerie autorise l'accès à des applications moins sécurisées ou utilise un mot de passe spécifique à l'application.
Avec cette configuration, vous pouvez gérer efficacement les adresses e-mail temporaires à diverses fins.
Commentaires (0)
Il n'y a pas encore de commentaires ici, vous pouvez être le premier !