在利用Outlook com组件编程的时候发现,Outlook中接受的邮件的发件人的Email地址不能正确的获得,他的属性里面只有一个SenderName属性,(ol2003之前的版本).而网上的解决办法大多使用CDO。而且大部分代码使用VB写,迁移到csharp不知道如何去做。
郁闷了几个小时之后,终于找到了一个简单有效的解决版本。
具体做法是利用MailItem接口的replay()方法。得到reply后的mail对象,再从这个对象的Recipients获得Address,这个Address就是发件人的Email地址了。
具体的Csharp代码如下:
MSOutlook.MailItem replymail = olmail.Reply();
MSOutlook.Recipients rec = replymail.Recipients;
string from = string.Empty;
for (int i = 1; i <= rec.Count; i++) {
from += rec[i].Address + ";";
}
Track.WriteLine(from.Substring(0, from.Length - 1));
转载于:https://www.cnblogs.com/Dorion/archive/2007/08/16/857847.html