一時的なメール アドレスは、スパムを回避したり、メインのメール アドレスを使用せずに Web サイトにサインアップしたりするなど、さまざまな理由で役立ちます。このガイドでは、Python を使用して一時的なメール システムを作成します。これには、ランダムなメール アドレスの生成、メールの送信、受信トレイの確認が含まれます。

1. ランダムなメールアドレスを生成する

一時的なメールを作成するには、 random モジュール。

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

このコードは10文字のランダムなユーザー名を生成し、ドメインを追加します example.com.

2. 電子メール送信用のSMTPを設定する

一時アドレスにメールを送信するには、SMTP サーバーを設定する必要があります。この例では、Gmail の SMTP サーバーを使用します。

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

このコードは指定された内容のメールを送信します subject そして body Gmail の SMTP サーバーを使用して一時的なメール アドレスに送信します。

3. メールを受信するためのシンプルなサーバーを作成する

一時的なメールシステムを完成させるには、メールを受信するサーバーが必要です。 Flask フレームワークと imaplib このためのモジュール。

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)

このスクリプトは、電子メールの受信トレイをチェックし、すべての電子メールの内容を印刷する、Flask を使用してシンプルな Web サーバーをセットアップします。

4. すべてをまとめる

ここで、一時的なメール アドレスを生成し、メールを送信し、受信トレイを確認する手順を 1 つのスクリプトにまとめます。

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)

結論

このガイドでは、Python を使用して一時的な電子メール システムを作成する方法を説明します。スクリプトはランダムな電子メール アドレスを生成し、テスト メールを送信し、受信トレイを確認します。このスクリプトは、特定の要件に基づいてさらにカスタマイズおよび拡張できます。

依存関係とセットアップ

このスクリプトを実行するには、必要な Python パッケージがインストールされていることを確認してください。

pip install Flask

また、メールの資格情報を使用してスクリプトを更新し、メール アカウントで安全性の低いアプリへのアクセスが許可されているか、アプリ固有のパスワードが使用されているかを確認します。

この設定により、さまざまな目的の一時的な電子メール アドレスを効率的に管理できます。

コメント (0)

まだコメントはありません。あなたが最初のコメントを投稿できます!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


プロキシの選択と購入

データセンター・プロキシ

プロキシのローテーション

UDPプロキシ

世界中の10,000以上の顧客から信頼されています

代理顧客
代理顧客
代理顧客 flowch.ai
代理顧客
代理顧客
代理顧客