0x00 前言
Outlook MAPI提供了一组访问Outlook的接口,用来扩展Outlook应用程序的开发,本文将会介绍Outlook MAPI的基本用法,开源一份Outlook MAPI的实现代码mapi_tool,便于后续的二次开发。
0x01 简介
本文将要介绍以下内容:
· 基本知识
· 使用Outlook MAPI访问Outlook资源
· 开源代码mapi_tool
· mapi_tool功能介绍
· 多种环境下的利用思路
0x02 基本知识
参考资料:
https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/outlook-mapi-reference
Outlook MAPI的使用前提:需要安装Outlook客户端。
Outlook MAPI同EWS的区别:
· Outlook MAPI用来访问Outlook客户端中的资源
· EWS用来访问Exchange服务器中的资源
关于EWS的使用可以参考之前的文章《Exchange Web Service(EWS)开发指南》。
Outlook客户端中的用户邮件存储在后缀名为ost的文件中,和Exchange服务器中的数据库保持一致
ost文件的默认保存位置:%LOCALAPPDATA%\Microsoft\Outlook\
MAPI主要包括以下三个功能:
· Address Books,设置E-mail type、protocol等参数
· Transport,文件的发送和接收
· Message Store,发送接收等信息的处理
0x03 使用Outlook MAPI访问Outlook资源
1.安装Outlook客户端并配置参数
2.启动Outlook客户端进行用户登录
3.使用C Sharp开发程序,实现读取收件箱邮件的功能
参考资料:
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.outlook?view=outlook-pia
https://docs.microsoft.com/en-us/off