Outlook是怎么发信的? 我要截获Outlook发送的邮件.

ysai 2004-08-16 11:39:36
注意,是要实际发送出去的邮件,而不是点"发送"按钮的事件,那只是把邮件存到发件箱,而发送还有一个动作,我需要截获发送成功的邮件的内容,谢谢.
...全文
316 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysai 2004-08-21
  • 打赏
  • 举报
回复
楼上的朋友,outlook的com add-in没提供接口,只提供了ItemSend事件接口,它是在发送数据前发生的,至于发送有没有成功,没办法得到,你知道有其它方法吗?还有,ItemSend用VBA可以很容易截获,但用com add-in我却不知道怎么用,有例子吗?它不同于普通的commandbutton.click事件..
TechnoFantasy 2004-08-21
  • 打赏
  • 举报
回复
你可以直接编写一个outlook的add-ins来实现对outlook的操控。
zfang 2004-08-19
  • 打赏
  • 举报
回复
mark
dragonki 2004-08-19
  • 打赏
  • 举报
回复
我试过outlook xp ,拦截下来
不过如果上面的代码不改改,只能截发送部分,不过你不是就要截发送部分吗?
如果要拦截接收部分,需要把代码中的的

DLLModule := LoadLibrary('ws2_32.dll');
改成
DLLModule := LoadLibrary('wsock32.dll');

还有
function MyRecv(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;
var
dwSize: cardinal;
begin
//这儿进行接收的数据处理
MessageBeep(1000); //简单的响一声
//调用直正的Recv函数
WriteProcessMemory(ProcessHandle, AddRecv, @OldProc[1], 8, dwSize);
Result := OldRecv(S, Buf, len, flags);
JmpCode.Address := @MyRecv;
WriteProcessMemory(ProcessHandle, AddRecv, @JmpCode, 8, dwSize);
end;

改成

function MyRecv(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;
var
dwSize: cardinal;
begin
WriteProcessMemory(ProcessHandle, AddRecv, @OldProc[1], 8, dwSize);
Result := OldRecv(S, Buf, len, flags);
JmpCode.Address := @MyRecv;
WriteProcessMemory(ProcessHandle, AddRecv, @JmpCode, 8, dwSize);

//这儿进行接收的数据处理 .... 放到下面来
MessageBeep(1000); //简单的响一声
//调用直正的Recv函数

end;

还有这个程序有个bug,退出截获程序后,目标程序就会出现内存读写错误,估计是unhook部分没还原好,
如果你会bcb ,用这个,比上面那个好
http://www.gameres.com/bbs/showthread.asp?threadid=6771
ysai 2004-08-18
  • 打赏
  • 举报
回复
楼上的朋友,你试过吗?
你给的链接里的程序代码有问题,我前一个贴子里已经提出了.
Outlook和Outlook Express不同,上面的链接里的代码只能截获Outlook Express的内容,对Outlook无效,只截获了一点点无实际用途的数据,我想Outlook是通过其它API发送的数据.
dragonki 2004-08-18
  • 打赏
  • 举报
回复
hook outlook 的 send recv

http://dev.csdn.net/Develop/article/22/22765.shtm

send 里就能拦截到数据
whitetiger8 2004-08-17
  • 打赏
  • 举报
回复
hthunter(核桃-我的心在下雨,雨中我和她携手漫步) 不会我就更不会了。哈哈。

找找资料吧。
beyondtkl 2004-08-16
  • 打赏
  • 举报
回复
MK
naughtyboy 2004-08-16
  • 打赏
  • 举报
回复
做监控是可行的
自己做一个简单的sniffer
把dest port为25的请求全部拦截下来
hthunter 2004-08-16
  • 打赏
  • 举报
回复
做监控阿?呵呵,没做过,关注一下
lw549 2004-08-16
  • 打赏
  • 举报
回复
可以通过监听端口,分析发送数据的方法实现,至于其他方法,就不知道了。
ju1 2004-08-16
  • 打赏
  • 举报
回复
问 “瑞星”公司吧 他的邮件 接受 发送监视 可牛哦!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧