Dočasné e-mailové adresy jsou užitečné z mnoha důvodů, jako je zamezení spamu nebo registrace na webové stránky bez použití primární e-mailové adresy. V této příručce vytvoříme dočasný e-mailový systém pomocí Pythonu. To zahrnuje generování náhodné e-mailové adresy, odesílání e-mailů a kontrolu doručené pošty.

1. Vygenerujte náhodnou e-mailovou adresu

Chcete-li vytvořit dočasný e-mail, vygenerujeme náhodnou e-mailovou adresu pomocí random modul.

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

Tento kód vygeneruje náhodné uživatelské jméno o délce 10 znaků a připojí doménu example.com.

2. Nastavte SMTP pro odesílání e-mailů

Abychom mohli odesílat e-maily na dočasnou adresu, musíme nakonfigurovat server SMTP. V tomto příkladu použijeme server SMTP Gmailu.

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

Tento kód odešle e-mail se zadaným subject a body na dočasnou e-mailovou adresu pomocí serveru SMTP Gmailu.

3. Vytvořte jednoduchý server pro příjem e-mailů

K dokončení dočasného e-mailového systému potřebujeme server pro příjem e-mailů. Použijeme Flask rámec a imaplib modul pro toto.

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)

Tento skript nastaví jednoduchý webový server s Flask, který kontroluje e-mailovou schránku a tiskne obsah všech e-mailů.

4. Dát to všechno dohromady

Nyní zkombinujeme kroky pro vygenerování dočasné e-mailové adresy, odeslání e-mailu a kontrolu doručené pošty v jednom skriptu.

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)

Závěr

Tato příručka ukazuje, jak vytvořit dočasný e-mailový systém pomocí Pythonu. Skript vygeneruje náhodnou e-mailovou adresu, odešle testovací e-mail a zkontroluje doručenou poštu. Tento skript můžete dále upravovat a vylepšovat na základě vašich specifických požadavků.

Závislosti a nastavení

Chcete-li spustit tento skript, ujistěte se, že máte nainstalované potřebné balíčky Pythonu:

pip install Flask

Aktualizujte také skript pomocí svých e-mailových pověření a ujistěte se, že váš e-mailový účet umožňuje přístup k méně bezpečným aplikacím nebo používá heslo pro konkrétní aplikaci.

S tímto nastavením můžete efektivně spravovat dočasné e-mailové adresy pro různé účely.

Komentáře (0)

Zatím zde nejsou žádné komentáře, můžete být první!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *


Vyberte a kupte proxy

Proxy datových center

Rotující proxy

UDP proxy

Důvěřuje více než 10 000 zákazníkům po celém světě

Proxy zákazník
Proxy zákazník
Proxy zákazníka flowch.ai
Proxy zákazník
Proxy zákazník
Proxy zákazník