Alamat e-mel sementara berguna untuk banyak sebab, seperti mengelakkan spam atau mendaftar untuk tapak web tanpa menggunakan alamat e-mel utama anda. Dalam panduan ini, kami akan mencipta sistem e-mel sementara menggunakan Python. Ini termasuk menjana alamat e-mel rawak, menghantar e-mel dan menyemak peti masuk.

1. Hasilkan Alamat E-mel Rawak

Untuk membuat e-mel sementara, kami akan menjana alamat e-mel rawak menggunakan 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}")

Kod ini menjana nama pengguna rawak sebanyak 10 aksara dan menambahkan domain example.com.

2. Sediakan SMTP untuk Menghantar E-mel

Untuk menghantar e-mel ke alamat sementara, kami perlu mengkonfigurasi pelayan SMTP. Dalam contoh ini, kami akan menggunakan pelayan SMTP 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.")

Kod ini menghantar e-mel dengan yang dinyatakan subject dan body ke alamat e-mel sementara menggunakan pelayan SMTP Gmail.

3. Buat Pelayan Mudah untuk Menerima E-mel

Untuk melengkapkan sistem e-mel sementara, kami memerlukan pelayan untuk menerima e-mel. Kami akan menggunakan Flask rangka kerja dan imaplib modul untuk ini.

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)

Skrip ini menyediakan pelayan web ringkas dengan Flask yang menyemak peti masuk e-mel dan mencetak kandungan semua e-mel.

4. Menyatukan Semuanya

Sekarang, kami akan menggabungkan langkah-langkah untuk menjana alamat e-mel sementara, menghantar e-mel dan menyemak peti masuk dalam satu skrip.

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)

Kesimpulan

Panduan ini menunjukkan cara membuat sistem e-mel sementara menggunakan Python. Skrip menjana alamat e-mel rawak, menghantar e-mel ujian dan menyemak peti masuk. Anda boleh menyesuaikan dan meningkatkan lagi skrip ini berdasarkan keperluan khusus anda.

Kebergantungan dan Persediaan

Untuk menjalankan skrip ini, pastikan anda memasang pakej Python yang diperlukan:

pip install Flask

Selain itu, kemas kini skrip dengan bukti kelayakan e-mel anda dan pastikan akaun e-mel anda membenarkan akses kepada apl yang kurang selamat atau menggunakan kata laluan khusus apl.

Dengan persediaan ini, anda boleh mengurus alamat e-mel sementara dengan cekap untuk pelbagai tujuan.

Komen (0)

Tiada ulasan di sini lagi, anda boleh menjadi yang pertama!

Tinggalkan Balasan

Alamat e-mel anda tidak akan disiarkan. Medan diperlukan ditanda dengan *


Pilih dan Beli Proksi

Proksi Pusat Data

Proksi Berputar

Proksi UDP

Dipercayai Oleh 10000+ Pelanggan Seluruh Dunia

Pelanggan Proksi
Pelanggan Proksi
Aliran Pelanggan Proksi.ai
Pelanggan Proksi
Pelanggan Proksi
Pelanggan Proksi