Skip to content

About

一个基于 Python 的桌面邮件管理工具,支持邮件发送、接收、批量处理和附件下载功能

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

MailManager - 邮件管理工具

一个基于 Python 的桌面邮件管理应用程序,支持邮件发送、接收和批量自动化处理功能。

功能特性

📧 发件功能

  • 单封邮件发送:支持向单个收件人发送邮件
  • 批量邮件发送:支持同时向多个收件人发送邮件
  • 规则自动发送:通过配置文件定义批量发送规则
  • 附件支持:支持添加多个附件
  • 多邮箱服务商支持:自动识别并配置 QQ、Gmail、163、126、Outlook 等主流邮箱的 SMTP 服务器

📨 收件功能

  • 收件箱查看:拉取并显示收件箱中的邮件列表
  • 邮件详情预览:查看邮件的发件人、主题、正文内容
  • 附件下载:支持下载选中邮件的附件到本地
  • 自定义拉取数量:可设置拉取最近 1-200 封邮件
  • 智能附件识别:准确识别邮件中的各类附件(包括内联附件)
  • 多邮箱服务商支持:自动识别并配置主流邮箱的 IMAP 服务器

🎨 用户界面

  • 图形化界面:基于 Tkinter 的友好桌面应用
  • 简洁导航:主界面快速切换发件和收件功能
  • 实时反馈:操作结果即时提示
  • 日志记录:详细记录所有操作日志

环境要求

  • Python 3.6+
  • 无需额外安装第三方库(仅使用 Python 标准库)

快速开始

1. 克隆或下载项目

bash
git clone <repository-url>
cd MailManager

2. 运行图形界面应用

bash
python ui_app.py

3. 使用命令行测试(可选)

编辑 main.py 配置您的邮箱信息后运行:

bash
python main.py

使用说明

发件功能

  1. 进入发件界面

    • 启动应用后点击"进入发件功能"
  2. 填写邮箱信息

    • 输入发件人邮箱地址
    • 输入邮箱授权码(非登录密码,需在邮箱设置中获取)
  3. 编写邮件

    • 单个收件人:在"单个收件人"栏输入邮箱
    • 批量收件人:在文本框中每行输入一个邮箱地址
    • 填写邮件主题和正文
    • 点击"选择附件"添加附件(可选)
  4. 发送邮件

    • 点击"发送单封邮件"发送给单个收件人
    • 点击"批量自动发送"发送给多个收件人或按规则发送

收件功能

  1. 进入收件界面

    • 启动应用后点击"进入收件功能"
  2. 填写邮箱信息

    • 输入邮箱地址
    • 输入邮箱授权码
  3. 设置拉取数量

    • 输入要拉取的邮件数量(1-200,默认 20)
  4. 刷新收件箱

    • 点击"刷新收件箱"按钮
  5. 查看邮件

    • 在列表中点击邮件查看详细信息
    • 如有附件,点击"下载选中邮件附件"保存到本地

配置说明

批量发送规则

编辑 config/rules.json 文件配置批量发送规则:

json
[
  {
    "email": "recipient@example.com",
    "subject": "邮件主题",
    "body": "邮件正文",
    "attachments": ["attachments/file.pdf"]
  }
]

字段说明:

  • email: 收件人邮箱地址
  • subject: 邮件主题
  • body: 邮件正文
  • attachments: 附件路径列表(可选)

支持的邮箱服务商

系统自动识别以下邮箱服务商的 SMTP/IMAP 服务器:

邮箱服务商 SMTP 服务器 IMAP 服务器
QQ 邮箱 smtp.qq.com:465 imap.qq.com:993
Gmail smtp.gmail.com:465 imap.gmail.com:993
163 邮箱 smtp.163.com:465 imap.163.com:993
126 邮箱 smtp.126.com:465 imap.126.com:993
Outlook/Hotmail/Live smtp-mail.outlook.com:465 outlook.office365.com:993

获取邮箱授权码

QQ 邮箱

  1. 登录 QQ 邮箱网页版
  2. 进入"设置" → "账户"
  3. 找到"POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务"
  4. 开启"IMAP/SMTP服务"
  5. 按照提示获取授权码

Gmail

  1. 启用两步验证
  2. 生成应用专用密码
  3. 使用该密码作为授权码

163/126 邮箱

  1. 登录邮箱网页版
  2. 进入"设置" → "POP3/SMTP/IMAP"
  3. 开启"IMAP/SMTP服务"
  4. 获取授权码

Outlook/Hotmail

  1. 启用两步验证
  2. 创建应用密码
  3. 使用该密码作为授权码

日志说明

所有操作日志保存在 logs/mail.log 文件中,包括:

  • 邮件发送记录
  • 邮件接收记录
  • 附件处理记录
  • 错误信息

应用关闭时会自动清理日志文件。

注意事项

  1. 授权码安全:授权码相当于邮箱密码,请妥善保管,不要泄露给他人
  2. 附件大小限制:注意邮箱服务商对附件大小的限制(通常为 25-50MB)
  3. 发送频率限制:避免短时间内大量发送邮件,可能被邮箱服务商判定为垃圾邮件
  4. 网络要求:需要稳定的网络连接,部分邮箱服务商可能需要科学上网(如 Gmail)
  5. 防火墙设置:确保防火墙允许访问 SMTP(465端口)和 IMAP(993端口)

故障排除

认证失败

  • 检查邮箱地址是否正确
  • 确认使用的是授权码而非登录密码
  • 确认已开启邮箱的 IMAP/SMTP 服务

连接服务器失败

  • 检查网络连接
  • 确认防火墙未阻止相应端口
  • 尝试更换网络环境

收件箱为空

  • 确认邮箱中有邮件
  • 检查是否选择了正确的邮箱账号
  • 查看日志文件了解详细错误信息

技术栈

  • 编程语言: Python 3.6+
  • GUI 框架: Tkinter
  • 邮件协议: SMTP (发送), IMAP (接收)
  • 标准库: smtplib, imaplib, email, tkinter, logging, json

许可证

本项目仅供学习和研究使用。

贡献

欢迎提交 Issue 和 Pull Request!

联系方式

2032009168@qq.com

如有问题或建议,请通过以下方式联系:

  • 提交 Issue
  • 发送邮件至项目维护者

免责声明: 请合理使用本工具,遵守相关邮箱服务商的使用条款,不得用于发送垃圾邮件或进行其他违法活动。

About

一个基于 Python 的桌面邮件管理工具,支持邮件发送、接收、批量处理和附件下载功能

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages