HiÐΞWeb3

Python : Yahoo迷惑メールを取り扱う

SHOGAKU
1ヶ月前
最初に "IMAP有効" にする迷惑メールのフォルダ名は、Bulk Mailそれを踏まえて、Pythonコード結果

Yahooメールの迷惑メールがいつも大量になっている私。

定期的にpythonで消したい。

って、言っても迷惑メールに入ってるから削除作業しても、そのままそこにいらっしゃるコードになってしまった。

完全削除はできないため。
なので、どんなメールが迷惑メールに来てるか、リストを見るくらいのコードになってしまった。
収穫は、迷惑メールのフォルダ名は、Bulk Mail というのが分かったこと


最初に "IMAP有効" にする

Yahoo!メールでIMAPを有効にするには、アカウントの設定から「IMAP/POP/SMTPアクセス」を選択し、「IMAP」の「有効にする」をクリックして確認します。さらに、「Yahoo! JAPAN公式サービス以外からのアクセスも有効にする」を選択することで、外部アプリやメールクライアントからのアクセスを許可します。これにより、IMAPを介したメールの送受信が可能になります。

参考
https://support.yahoo-net.jp/PccMail/s/article/H000007321


迷惑メールのフォルダ名は、Bulk Mail

参考
https://answers.microsoft.com/en-us/outlook_com/forum/all/yahoo-imap-spam-folder-not-recognized-by-outlook/f002d53b-4124-4237-b9cd-4f02dca7d542


それを踏まえて、Pythonコード

ログ出力と結果表示の機能を含むPythonスクリプト

import imaplib
import email

# 接続設定
imap_url = 'imap.mail.yahoo.co.jp'
username = 'your_username@yahoo.co.jp'  # 実際のユーザー名に置き換えてください
password = 'your_password'  # 実際のパスワードに置き換えてください

# IMAPサーバーに接続
mail = imaplib.IMAP4_SSL(imap_url)
mail.login(username, password)

# 迷惑メールフォルダを選択
mail.select('"Bulk Mail"')  # フォルダ名が異なる場合は適宜修正してください

# フォルダ内のすべてのメールを検索
status, messages = mail.search(None, 'ALL')
if status == 'OK':
    messages_to_delete = messages[0].split()
    print(f"Found {len(messages_to_delete)} messages to delete.")
    # メッセージリストを反転して最新のメールから処理
    for num in messages_to_delete[::-1]:
        _, msg_data = mail.fetch(num, '(RFC822)')
        msg = email.message_from_bytes(msg_data[0][1])
        print(f"Deleting: {email.header.make_header(email.header.decode_header(msg['Subject']))}")
        # メールを削除
        mail.store(num, '+FLAGS', '\\Deleted')
    mail.expunge()
    print(f"Deleted {len(messages_to_delete)} messages.")

# ログアウト
mail.logout()

このスクリプトは、迷惑メールフォルダ内のメールを検索し、見つかったメールの数と各メールの件名を表示した後、それらを削除します。メールを実際に削除する前に件名を表示することで、どのメールが削除されるかを確認することができます。


結果

実際、消せてないけど。既読にはなる。

Found 4 messages to delete.
Deleting: So you installed DeployScript. Now what?
Deleting: 【重要なお知らせ】お試し体験を終了された方へ
Deleting: お試し体験終了をした方へ おすすめ番組のご紹介!
Deleting: OpenWeatherMap Account confirmation
Deleted 4 messages.

まあ、迷惑メールの中身が分かったということで。嬉しくもないけど。

勝手に消えるし、まあいいか。


コメント
いいね
投げ銭
最新順
人気順
SHOGAKU
1ヶ月前
コメント
いいね
投げ銭
最新順
人気順
トピック
アプリ

Astar Network

DFINITY / ICP

NFT

DAO

DeFi

L2

メタバース

BCG

仮想通貨 / クリプト

ブロックチェーン別

プロジェクト

目次
Tweet
ログイン