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