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文字です。必要に応じてユーザー名の長さとドメイン名をカスタマイズできます

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

image

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