无编程经验求助:如何编写脚本批量提取邮箱并发送警告邮件
如何用简单脚本提取txt文件中的邮箱并自动发送警告邮件
你手动花几十分钟复制粘贴邮箱发警告真的太拼了!别担心,咱们用个简单的Python脚本就能搞定这个重复活儿,哪怕你几乎没编程经验也能跟着做。
第一步:准备好Python环境
如果你还没装Python,去Python官网下载对应系统的版本(Windows/macOS/Linux都有),安装的时候一定要勾选「Add Python to PATH」这个选项,这样之后在命令行里就能直接调用Python了。
第二步:根据你的txt文件格式选择脚本
先看看你的txt文件里邮箱的呈现形式,下面针对两种常见情况提供脚本:
情况1:每行一个邮箱(比如user1@example.com单独占一行)
新建一个文本文件,把下面的代码复制进去,然后把文件后缀改成.py(比如命名为send_warnings.py):
# 导入需要的工具包 import smtplib from email.mime.text import MIMEText # ---------------------- 你需要修改的配置 ---------------------- # 你的邮箱信息(以QQ/163/Gmail为例,需提前开启邮箱SMTP服务) your_email = "你的邮箱@example.com" your_email_password = "你的邮箱密码/授权码" # Gmail需用应用密码,QQ邮箱要获取SMTP授权码 smtp_server = "smtp.example.com" # QQ填smtp.qq.com,Gmail填smtp.gmail.com,163填smtp.163.com smtp_port = 587 # 大部分主流邮箱用587端口 # 警告邮件的内容 email_subject = "紧急:你的游戏账号可能存在泄露风险" email_content = """ 您好! 我们发现有包含游戏账号信息的文件被传播,其中可能包含你的账号邮箱。为了保障你的账号安全,请立即修改你的游戏账号密码以及关联的邮箱密码。 如果已经修改密码,请忽略此邮件。 感谢你的理解与配合! """ # 你的邮箱文件路径(如果文件和脚本在同一个文件夹,直接写文件名即可,比如"accounts.txt") email_file_path = "你的邮箱文件路径.txt" # ---------------------- 配置结束 ---------------------- # 读取txt文件里的邮箱,去掉空行和无效内容 with open(email_file_path, "r", encoding="utf-8") as file: emails = [line.strip() for line in file if line.strip()] # 连接邮箱服务器批量发送邮件 try: server = smtplib.SMTP(smtp_server, smtp_port) server.starttls() # 开启加密连接,保障邮件传输安全 server.login(your_email, your_email_password) for email in emails: # 构造邮件内容 msg = MIMEText(email_content, "plain", "utf-8") msg["Subject"] = email_subject msg["From"] = your_email msg["To"] = email # 发送邮件 server.sendmail(your_email, email, msg.as_string()) print(f"已成功发送警告邮件到:{email}") server.quit() print("所有邮件发送完成!") except Exception as e: print(f"发送过程中出现错误:{e}")
情况2:邮箱和其他内容混在一起(比如账号:12345 邮箱:user1@example.com 密码:xxx)
如果你的txt里邮箱和账号、密码等内容混杂,我们可以用正则表达式自动提取邮箱,把上面脚本里的「读取txt文件里的邮箱」部分替换成下面的代码即可:
import re # 额外导入正则匹配工具包 # 读取txt文件全部内容 with open(email_file_path, "r", encoding="utf-8") as file: content = file.read() # 用正则提取所有符合邮箱格式的内容 email_pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b' emails = re.findall(email_pattern, content) # 去重,避免同一个邮箱重复发送 emails = list(set(emails))
第三步:修改配置并运行脚本
- 打开你保存的
.py文件,把「你需要修改的配置」块里的内容换成你自己的信息:- 填好你的邮箱地址、密码/授权码(注意:一定要提前在邮箱设置里开启SMTP服务,否则无法发送邮件)
- 把
email_file_path改成你的txt文件的实际路径(比如文件和脚本在同一文件夹,直接写文件名就行)
- 保存修改后的脚本
- 打开命令行(Windows按Win+R输入
cmd,macOS打开「终端」),切换到脚本所在的文件夹,然后输入:
python send_warnings.py
脚本就会自动提取邮箱并批量发送警告邮件啦!
重要提醒
- 建议先给自己的邮箱发一封测试邮件,确认配置没问题再批量发送
- 不要短时间内发送太多邮件,否则可能会被邮箱服务商判定为垃圾邮件,导致发送失败或账号被限制
- 如果发送失败,检查一下SMTP服务器地址、端口、密码/授权码是否正确
内容的提问来源于stack exchange,提问作者Bun Bun
相关产品推荐
相关产品推荐

