Alamat email sementara berguna karena berbagai alasan, seperti menghindari spam atau mendaftar ke situs web tanpa menggunakan alamat email utama Anda. Dalam panduan ini, kita akan membuat sistem email sementara menggunakan Python. Ini termasuk membuat alamat email acak, mengirim email, dan memeriksa kotak masuk.

1. Hasilkan Alamat Email Acak

Untuk membuat email sementara, kami akan membuat alamat email acak 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}")

Kode ini menghasilkan nama pengguna acak 10 karakter dan menambahkan domain example.com.

2. Atur SMTP untuk Mengirim Email

Untuk mengirim email ke alamat sementara, kita perlu mengkonfigurasi server SMTP. Dalam contoh ini, kita akan menggunakan server 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.")

Kode ini mengirimkan email dengan yang ditentukan subject Dan body ke alamat email sementara menggunakan server SMTP Gmail.

3. Buat Server Sederhana untuk Menerima Email

Untuk melengkapi sistem email sementara, kita memerlukan server untuk menerima email. Kami akan menggunakan Flask kerangka 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 menyiapkan server web sederhana dengan Flask yang memeriksa kotak masuk email dan mencetak konten semua email.

4. Menyatukan Semuanya

Sekarang, kita akan menggabungkan langkah-langkah untuk membuat alamat email sementara, mengirim email, dan memeriksa kotak 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 email sementara menggunakan Python. Skrip menghasilkan alamat email acak, mengirimkan email percobaan, dan memeriksa kotak masuk. Anda dapat menyesuaikan dan menyempurnakan skrip ini lebih lanjut berdasarkan kebutuhan spesifik Anda.

Ketergantungan dan Pengaturan

Untuk menjalankan skrip ini, pastikan Anda telah menginstal paket Python yang diperlukan:

pip install Flask

Selain itu, perbarui skrip dengan kredensial email Anda dan pastikan akun email Anda mengizinkan akses ke aplikasi yang kurang aman atau menggunakan kata sandi khusus aplikasi.

Dengan pengaturan ini, Anda dapat mengelola alamat email sementara secara efisien untuk berbagai tujuan.

Komentar (0)

Belum ada komentar di sini, Anda bisa menjadi yang pertama!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


Pilih dan Beli Proxy

Proksi Pusat Data

Memutar Proxy

Proksi UDP

Dipercaya Oleh 10.000+ Pelanggan di Seluruh Dunia

Pelanggan Proksi
Pelanggan Proksi
Pelanggan Proksi flowch.ai
Pelanggan Proksi
Pelanggan Proksi
Pelanggan Proksi