Địa chỉ email tạm thời hữu ích vì nhiều lý do, chẳng hạn như tránh thư rác hoặc đăng ký trang web mà không sử dụng địa chỉ email chính của bạn. Trong hướng dẫn này, chúng tôi sẽ tạo một hệ thống email tạm thời bằng Python. Điều này bao gồm tạo địa chỉ email ngẫu nhiên, gửi email và kiểm tra hộp thư đến.

1. Tạo địa chỉ email ngẫu nhiên

Để tạo một email tạm thời, chúng tôi sẽ tạo một địa chỉ email ngẫu nhiên bằng cách sử dụng random mô-đun.

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

Mã này tạo tên người dùng ngẫu nhiên gồm 10 ký tự và nối thêm tên miền example.com.

2. Thiết lập SMTP để gửi email

Để gửi email đến địa chỉ tạm thời, chúng ta cần định cấu hình máy chủ SMTP. Trong ví dụ này, chúng tôi sẽ sử dụng máy chủ SMTP của 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.")

Mã này sẽ gửi một email có chỉ định subjectbody đến địa chỉ email tạm thời bằng máy chủ SMTP của Gmail.

3. Tạo một máy chủ đơn giản để nhận email

Để hoàn thiện hệ thống email tạm thời, chúng ta cần một máy chủ để nhận email. Chúng tôi sẽ sử dụng Flask khuôn khổ và imaplib mô-đun cho việc này.

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)

Tập lệnh này thiết lập một máy chủ web đơn giản với Flask để kiểm tra hộp thư đến email và in nội dung của tất cả email.

4. Kết hợp tất cả lại với nhau

Bây giờ, chúng ta sẽ kết hợp các bước để tạo địa chỉ email tạm thời, gửi email và kiểm tra hộp thư đến trong một tập lệnh.

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)

Phần kết luận

Hướng dẫn này trình bày cách tạo hệ thống email tạm thời bằng Python. Tập lệnh tạo một địa chỉ email ngẫu nhiên, gửi email kiểm tra và kiểm tra hộp thư đến. Bạn có thể tùy chỉnh và nâng cao hơn nữa tập lệnh này dựa trên yêu cầu cụ thể của mình.

Phụ thuộc và thiết lập

Để chạy tập lệnh này, hãy đảm bảo bạn đã cài đặt các gói Python cần thiết:

pip install Flask

Ngoài ra, hãy cập nhật tập lệnh bằng thông tin đăng nhập email của bạn và đảm bảo tài khoản email của bạn cho phép truy cập vào các ứng dụng kém an toàn hơn hoặc sử dụng mật khẩu dành riêng cho ứng dụng.

Với thiết lập này, bạn có thể quản lý hiệu quả các địa chỉ email tạm thời cho nhiều mục đích khác nhau.

Bình luận (0)

Chưa có bình luận nào ở đây, bạn có thể là người đầu tiên!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *


Chọn và mua proxy

Proxy trung tâm dữ liệu

Proxy luân phiên

Proxy UDP

Được tin cậy bởi hơn 10000 khách hàng trên toàn thế giới

Khách hàng ủy quyền
Khách hàng ủy quyền
Khách hàng proxy flowch.ai
Khách hàng ủy quyền
Khách hàng ủy quyền
Khách hàng ủy quyền