banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

Pythonでメールの一斉送信広告機を作成する

最初に、title.txt、content.txt、smtp.py、qq.txt の 4 つのファイルを作成します。

image
その中で、title.txt ファイルにはメールの件名が入ります。例:

image
content.txt ファイルにはメールの内容が入ります。例:

image
qq.txt ファイルには送信するメールアドレスが入ります。例:

image

smtp.py コード#


import smtplib
from email.mime.text import MIMEText
from email.header import Header

while True:
    # メールログイン情報
    email_user = 'あなたのqqメール'
    email_password = 'あなたの認証コード'

    # 受信者リストを読み込む
    with open('qq.txt', 'r') as file:
        recipient_list = file.readlines()

    # 各受信者のメールアドレスの末尾の改行と空白文字を削除する
    recipient_list = [recipient.strip() for recipient in recipient_list]

    # メール本文と件名を読み込む
    with open('content.txt', 'r', encoding='utf-8') as file:
        body_text = file.read().strip()
    with open('title.txt', 'r', encoding='gbk') as file:
        title_text = file.read().strip()

    # メールの内容を作成する
    msg = MIMEText(body_text, _subtype='html', _charset='utf-8')
    msg['From'] = email_user
    msg['Subject'] = Header(title_text.encode('utf-8'), 'utf-8').encode()

    # SMTPサーバーに接続する
    with smtplib.SMTP_SSL('smtp.qq.com', 465) as server:
        server.login(email_user, email_password)

        # 各受信者にメールを送信する
        for recipient in recipient_list:
            try:
                server.sendmail(email_user, recipient, msg.as_string())
                print(f'[*] メールが {recipient} に正常に送信されました')
            except smtplib.SMTPDataError as e:
                if e.smtp_code == 550:
                    print(f'[!] {recipient} へのメールの送信に失敗しました:{e.smtp_error}')
                elif e.smtp_code == 501:
                    print(f'[!] {recipient} へのメールの送信に失敗しました:受信者のアドレスに構文エラーがあります')
                else:
                    print(f'[!] メールの送信中にエラーが発生しました:{e}')

    print('[*] すべてのメールが送信されました。')

    # ユーザーにyesまたはnoを入力して、さらにメールを送信するかどうかを確認するように促す
    answer = input("もう一度メールを送信しますか?(yes/no) ")

    # ユーザーが「no」を選択した場合、プログラムを終了します。それ以外の場合は、引き続きメールを送信します
    if answer.lower() == 'no':
        print("プログラムが終了しました。")
        break
    else:
        continue

前提条件は、QQ メールの POP3、SMTP サービスとサービスの認証コード(パスワード)を有効にする必要があります。163 メールも同じです。
QQ メールにログインします 公式サイト:https://mail.qq.com/
ログイン / 登録後、メールホームページに移動し、左側の設定をクリックします

image

アカウントをクリックします
image
アカウントページをスクロールダウンし、赤い枠で囲まれた内容を見つけてクリックします

image
この文字列が認証コードです

image
認証コードとメールをコードブロックに入力します:

email_user = 'あなたのqqメール'
email_password = 'あなたの認証コード'

以下は、一括でメールアドレスを生成するための Python コードです

import random
import string

def generate_random_email():
    domain = 'qq.com'
    username = ''.join(random.choices(string.ascii_letters + string.digits, k=8))
    email = username + '@' + domain
    return email

random_emails = []
for _ in range(100):
    random_emails.append(generate_random_email())

for email in random_emails:
    print(email)
#このコードは、100個のランダムなQQメールアドレスを生成し、それらを出力します。各メールアドレスのユーザー名の長さは8文字です。必要に応じてユーザー名の長さとメールのドメインをカスタマイズできます

ここでは、100 個の 8 文字の QQ メールを生成し、生成されたメールは qq.txt テキストファイルに保存されます
バルクメール送信を開始します。存在しないメールはスキップされ、次のメールが送信されます

image

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。