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 !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Choisir et acheter une procuration

Proxies pour centres de données

Procurations tournantes

Proxies UDP

Approuvé par plus de 10 000 clients dans le monde

Client mandataire
Client mandataire
Client proxy flowch.ai
Client mandataire
Client mandataire
Client mandataire