add script to remove emails from email list
This commit is contained in:
@@ -0,0 +1,79 @@
|
|||||||
|
"""
|
||||||
|
脚本:从 DESTINATION_EMAIL_LIST 集合中批量删除指定邮箱地址
|
||||||
|
用法:
|
||||||
|
直接修改下方 EMAIL_LIST_TO_REMOVE 列表,然后运行脚本。
|
||||||
|
或在代码中调用 remove_emails_from_destination(email_list) 函数。
|
||||||
|
"""
|
||||||
|
|
||||||
|
import logging
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
from src.db.mongo_manager import MONGO_STORE_MANAGER
|
||||||
|
from src.pojo.mail.mail_pojo import MailAddress
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def remove_emails_from_destination(email_list: List[str]) -> None:
|
||||||
|
"""
|
||||||
|
从 DESTINATION_EMAIL_LIST 集合中删除给定的邮箱地址列表。
|
||||||
|
|
||||||
|
Args:
|
||||||
|
email_list (List[str]): 需要删除的邮箱地址字符串列表
|
||||||
|
"""
|
||||||
|
if not email_list:
|
||||||
|
logger.warning("传入的邮箱列表为空,无需删除。")
|
||||||
|
return
|
||||||
|
|
||||||
|
success_count = 0
|
||||||
|
fail_count = 0
|
||||||
|
|
||||||
|
for email in email_list:
|
||||||
|
email = email.strip()
|
||||||
|
if not email:
|
||||||
|
continue
|
||||||
|
try:
|
||||||
|
# remove_email_from_destination_email_list 需要一个 MailAddress 对象
|
||||||
|
# password 字段对删除操作无影响,传空字符串即可
|
||||||
|
mail_address = MailAddress(mail=email, password="")
|
||||||
|
MONGO_STORE_MANAGER.remove_email_from_destination_email_list(mail_address)
|
||||||
|
logger.info(f"已删除邮箱: {email}")
|
||||||
|
success_count += 1
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"删除邮箱 {email} 时出错: {e}")
|
||||||
|
fail_count += 1
|
||||||
|
|
||||||
|
logger.info(f"删除完成 — 成功: {success_count},失败: {fail_count},共处理: {success_count + fail_count} 条")
|
||||||
|
|
||||||
|
|
||||||
|
# ──────────────────────────────────────────────
|
||||||
|
# 直接运行时,修改下方列表即可批量删除
|
||||||
|
# ──────────────────────────────────────────────
|
||||||
|
EMAIL_LIST_TO_REMOVE: List[str] = [
|
||||||
|
"susannekaar@gmx.net",
|
||||||
|
"dianataya@gmx.net",
|
||||||
|
"sophiezhoz@gmx.net",
|
||||||
|
"claudiavimu@gmx.net",
|
||||||
|
"leoniekeyk@gmx.net",
|
||||||
|
"katjamoem@gmx.net",
|
||||||
|
"annechoa@gmx.net",
|
||||||
|
"manuelacoep@gmx.net",
|
||||||
|
"kathrinbeet@gmx.net",
|
||||||
|
"katjapoyu@gmx.net",
|
||||||
|
"klausciluwe@gmx.net",
|
||||||
|
"petraneak@gmx.net",
|
||||||
|
"leahpona@gmx.net",
|
||||||
|
"jenniferhoko@gmx.net",
|
||||||
|
"phillippkemikv@gmx.net",
|
||||||
|
"sandrasika@gmx.net",
|
||||||
|
"leoniekala@gmx.net",
|
||||||
|
"sabinekiav@gmx.net",
|
||||||
|
"marinabaes@gmx.net",
|
||||||
|
"ulrikegevo@gmx.net",
|
||||||
|
"claudiadare@gmx.net"
|
||||||
|
]
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
remove_emails_from_destination(EMAIL_LIST_TO_REMOVE)
|
||||||
|
|
||||||
Reference in New Issue
Block a user