EWSTool – Exchange工具集
EWSTool 用于从 Exchange 服务器下载邮件,搜索邮件,获取人员信息等。
⚠️ 工具下载
核心功能
- 获取人员信息:获取所有人员信息及邮箱地址。
- 获取文件夹列表:获取邮箱中的所有文件夹列表。
- 下载邮件:下载指定邮箱文件夹的邮件。
- 搜索邮件:按关键字或日期范围搜索邮件。
- 批量下载邮件:下载指定一批邮箱的邮件。
- 批量搜索邮件:按关键字或日期范围搜索指定一批邮箱的邮件。
- 代理支持:支持HTTP代理。
安装
- 克隆项目到本地:
bash git clone https://github.com/simonlee-hello/EWSTool
- 克隆项目到本地:
- 进入项目目录:
bash cd EWSTool
- 进入项目目录:
- 安装依赖:
bash pip install -r requirements.txt
- 安装依赖:
使用方法
获取人员信息

获取文件夹列表
下载邮件
搜索邮件
批量下载邮件
命令行参数
--host:目标Exchange服务器地址(必填)。
-u,--username:用户名(可选)。
-U,--users:用户邮箱及哈希列表文件(可选)。
-p,--password:明文密码(可选)。
--hash:NTLM 哈希密码(可选)。
-P,--proxy:HTTP代理(可选)。格式:http://127.0.0.1:8080。
--tls:是否使用TLS(可选)。可选值:1.0, 1.1, 1.2, 1.3。
-o,--output:输出目录(可选)。默认为mails。
people:获取所有人员信息及邮箱地址。
folders:获取文件夹列表。
download:下载指定邮箱文件夹的邮件。(按照日期由近及远的顺序进行)-F,--folder:文件夹名称。(默认所有文件夹)
--id:邮件ID。(指定某个邮件下载,在批量下载失败后使用)
--key:邮件ChangeKey。(指定某个邮件下载,在批量下载失败后使用)
-y:跳过确认。
search:搜索邮件。(按照日期由近及远的顺序进行)-t,--type:搜索类型(keyword或DateTimeReceived或DateTimeSent)。
-k,--keyword:关键字。
--start:开始日期(YYYY-MM-DD)。
--end:结束日期(YYYY-MM-DD)。(为空时默认为当前日期)
-F,--folder:文件夹名称。(默认所有文件夹)
注意:
- 指定邮箱操作时
--password或--hash必须提供其中之一。
- 指定邮箱操作时
- 指定批量操作时
--users必须提供。
- 指定批量操作时
users.txt文件格式,目前只支持NTLM Hash:
username1:hash1
username2:hash2
...示例
- 获取所有人员信息:
python ewstools.py --host <host> --username <username> --password <password> people python ewstools.py --host <host> --username <username> --hash <hash> people
- 获取所有人员信息:
- 获取文件夹列表:
# 指定用户名和密码 python ewstools.py --host <host> --username <username> --password <password> folders # 指定用户名和哈希 python ewstools.py --host <host> --username <username> --hash <hash> folders # 批量获取文件夹列表 python ewstools.py --host <host> --users <users_file> folders
- 获取文件夹列表:
- 下载邮件(按照日期从近到远进行下载):
# 下载所有文件夹中的邮件 python ewstools.py --host <host> --username <username> --password <password> download --folder all # 下载指定文件夹中的邮件 python ewstools.py --host <host> --username <username> --password <password> folders python ewstools.py --host <host> --username <username> --password <password> download --folder <folder_name> # 跳过确认 python ewstools.py --host <host> --username <username> --password <password> download --folder all -y # 批量下载邮件 python ewstools.py --host <host> --users <users_file> download --folder all # 跳过确认 python ewstools.py --host <host> --users <users_file> download --folder all -y
- 下载邮件(按照日期从近到远进行下载):
- 下载指定邮件:
python ewstools.py --host <host> --username <username> --password <password> download --id <id> --key <key>
- 下载指定邮件:
- 按关键字搜索邮件(按照日期从近到远进行下载):
# 在所有文件夹中搜索关键字 python ewstools.py --host <host> --username <username> --password <password> search --type keyword --keyword <keyword> --folder all # 在指定文件夹中搜索关键字 python ewstools.py --host <host> --username <username> --password <password> folders python ewstools.py --host <host> --username <username> --password <password> search --type keyword --keyword <keyword> --folder <folder_name> # 跳过确认 python ewstools.py --host <host> --username <username> --password <password> search --type keyword --keyword <keyword> --folder all -y # 批量搜索邮件 python ewstools.py --host <host> --users <users_file> search --type keyword --keyword <keyword> --folder all -y
- 按关键字搜索邮件(按照日期从近到远进行下载):
- 按日期范围搜索邮件并下载(按照日期从近到远进行下载):
bash # 在所有文件夹中搜索日期范围 python ewstools.py --host <host> --username <username> --password <password> search --type DateTimeReceived --start <start_date> --end <end_date> --folder all # 在指定文件夹中搜索日期范围 python ewstools.py --host <host> --username <username> --password <password> folders python ewstools.py --host <host> --username <username> --password <password> search --type DateTimeReceived --start <start_date> --end <end_date> --folder <folder_name> # 跳过确认 python ewstools.py --host <host> --username <username> --password <password> search --type DateTimeReceived --start <start_date> --end <end_date> --folder all -y # 批量搜索邮件 python ewstools.py --host <host> --users <users_file> search --type DateTimeReceived --start <start_date> --end <end_date> --folder all -y
- 按日期范围搜索邮件并下载(按照日期从近到远进行下载):
配置
在ewstools.py文件中,可以配置以下参数:
TEMPLATES_FOLDER:模板文件夹路径。
HTTP_PROTO:HTTP协议(默认https)。
EXCHANGE_NAMESPACE:Exchange命名空间。
HEADERS:HTTP请求头。
日志
日志默认输出到控制台,可以在logging.basicConfig中配置日志级别和格式。
注意事项
- 确保提供的用户名和密码(或哈希)具有访问Exchange服务器的权限。
- 使用代理时,请确保代理服务器配置正确。
© 版权声明
文章版权归作者所有,转载请标明出处。
THE END















暂无评论内容