Las direcciones de correo electrónico temporales son útiles por muchas razones, como evitar spam o registrarse en sitios web sin utilizar su dirección de correo electrónico principal. En esta guía, crearemos un sistema de correo electrónico temporal usando Python. Esto incluye generar una dirección de correo electrónico aleatoria, enviar correos electrónicos y revisar la bandeja de entrada.

1. Genere una dirección de correo electrónico aleatoria

Para crear un correo electrónico temporal, generaremos una dirección de correo electrónico aleatoria utilizando el random módulo.

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}")

Este código genera un nombre de usuario aleatorio de 10 caracteres y agrega el dominio. example.com.

2. Configure SMTP para enviar correos electrónicos

Para enviar correos electrónicos a la dirección temporal, necesitamos configurar un servidor SMTP. En este ejemplo, usaremos el servidor 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.")

Este código envía un correo electrónico con el especificado subject y body a la dirección de correo electrónico temporal utilizando el servidor SMTP de Gmail.

3. Cree un servidor sencillo para recibir correos electrónicos

Para completar el sistema de correo electrónico temporal, necesitamos un servidor para recibir correos electrónicos. Usaremos el Flask marco y imaplib módulo para esto.

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)

Este script configura un servidor web simple con Flask que verifica la bandeja de entrada del correo electrónico e imprime el contenido de todos los correos electrónicos.

4. Poniéndolo todo junto

Ahora, combinaremos los pasos para generar una dirección de correo electrónico temporal, enviar un correo electrónico y revisar la bandeja de entrada en un solo 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)

Conclusión

Esta guía muestra cómo crear un sistema de correo electrónico temporal usando Python. El script genera una dirección de correo electrónico aleatoria, envía un correo electrónico de prueba y revisa la bandeja de entrada. Puede personalizar y mejorar aún más este script según sus requisitos específicos.

Dependencias y configuración

Para ejecutar este script, asegúrese de tener instalados los paquetes de Python necesarios:

pip install Flask

Además, actualice el script con sus credenciales de correo electrónico y asegúrese de que su cuenta de correo electrónico permita el acceso a aplicaciones menos seguras o utilice una contraseña específica de la aplicación.

Con esta configuración, puede administrar de manera eficiente direcciones de correo electrónico temporales para diversos fines.

Comentarios (0)

Aún no hay comentarios aquí, ¡tú puedes ser el primero!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Elegir y comprar proxy

Proxies de centros de datos

Rotación de proxies

Proxies UDP

Con la confianza de más de 10.000 clientes en todo el mundo

Cliente apoderado
Cliente apoderado
Cliente proxy flowch.ai
Cliente apoderado
Cliente apoderado
Cliente apoderado