Tymczasowe adresy e-mail są przydatne z wielu powodów, takich jak unikanie spamu lub rejestrowanie się w witrynach internetowych bez używania podstawowego adresu e-mail. W tym przewodniku utworzymy tymczasowy system poczty elektronicznej przy użyciu języka Python. Obejmuje to generowanie losowego adresu e-mail, wysyłanie wiadomości e-mail i sprawdzanie skrzynki odbiorczej.

1. Wygeneruj losowy adres e-mail

Aby utworzyć tymczasowy adres e-mail, wygenerujemy losowy adres e-mail za pomocą random moduł.

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

Ten kod generuje losową nazwę użytkownika składającą się z 10 znaków i dołącza domenę example.com.

2. Skonfiguruj SMTP do wysyłania wiadomości e-mail

Aby wysyłać e-maile na adres tymczasowy, musimy skonfigurować serwer SMTP. W tym przykładzie użyjemy serwera SMTP Gmaila.

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

Ten kod wysyła wiadomość e-mail z określonym subject oraz body na tymczasowy adres e-mail przy użyciu serwera SMTP Gmaila.

3. Utwórz prosty serwer do odbierania wiadomości e-mail

Aby ukończyć tymczasowy system poczty elektronicznej, potrzebujemy serwera do odbierania wiadomości e-mail. Skorzystamy z Flask ramy i imaplib moduł do tego.

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)

Ten skrypt konfiguruje prosty serwer WWW z Flaskiem, który sprawdza skrzynkę odbiorczą e-maili i drukuje zawartość wszystkich e-maili.

4. Składanie tego wszystkiego w całość

Teraz połączymy kroki, aby wygenerować tymczasowy adres e-mail, wysłać wiadomość e-mail i sprawdzić skrzynkę odbiorczą w jednym skrypcie.

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)

Wnioski

W tym przewodniku pokazano, jak utworzyć tymczasowy system poczty elektronicznej przy użyciu języka Python. Skrypt generuje losowy adres e-mail, wysyła wiadomość testową i sprawdza skrzynkę odbiorczą. Możesz dodatkowo dostosować i ulepszyć ten skrypt w oparciu o swoje specyficzne wymagania.

Zależności i konfiguracja

Aby uruchomić ten skrypt, upewnij się, że masz zainstalowane niezbędne pakiety Pythona:

pip install Flask

Zaktualizuj także skrypt, podając dane uwierzytelniające e-mail i upewnij się, że Twoje konto e-mail umożliwia dostęp do mniej bezpiecznych aplikacji lub używa hasła specyficznego dla aplikacji.

Dzięki tej konfiguracji możesz efektywnie zarządzać tymczasowymi adresami e-mail do różnych celów.

Komentarze (0)

Nie ma tu jeszcze żadnych komentarzy, możesz być pierwszy!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *


Wybierz i kup proxy

Serwery proxy dla centrów danych

Obrotowe proxy

Serwery proxy UDP

Zaufało nam ponad 10000 klientów na całym świecie

Klient proxy
Klient proxy
Klient proxy flowch.ai
Klient proxy
Klient proxy
Klient proxy