设为首页 收藏本站
查看: 702|回复: 0

[经验分享] Get Sender Email Address from Outlook using CDO in C#

[复制链接]

尚未签到

发表于 2015-9-13 12:24:10 | 显示全部楼层 |阅读模式
  //Step 1: Add reference of  "Microsoft CDO 1.21 Library" and "Outlook"

private object oMissing = System.Reflection.Missing.Value;

public string GetFromAddress ( Outlook.MailItem msg )
  {
   string strReturn = string.Empty;
  MAPI.Session oSession = new MAPI.Session ( );
   oSession.Logon ( oMissing, oMissing, false, false, null, oMissing, oMissing );
   MAPI.Message oMessage = ( MAPI.Message ) oSession.GetMessage ( msg.EntryID,oMissing );
  MAPI.Fields fields = ( MAPI.Fields ) oMessage.Fields;
   MAPI.Field oFiled = ( MAPI.Field ) fields.get_Item ( MAPI.CdoPropTags.CdoPR_SENDER_EMAIL_ADDRESS, oMissing );
  strReturn = oFiled.Value.ToString ( );
  oSession.Logoff ( );
  return strReturn;  
  }


You can also use VBA as following:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Desc: Get the from address from of the specified MailItem
'Input:
'   objMsg: The object class can be Outlook.MailItem or MAPI.Message
'Output:
'   byte array
'Remarks:
'   Since there is no function to get from address in outlook, so we use this function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function GetFromAddress(objMsg)
   
    ' start CDO session
    Set objSession = CreateObject("MAPI.Session")
    objSession.Logon "", "", False, False
   
    ' pass message to CDO
    strEntryID = objMsg.EntryID
    strStoreID = objMsg.Parent.StoreID
    Set objCDOMSG = objSession.GetMessage(strEntryID, strStoreID)
   
    ' get sender address
    On Error Resume Next
    strAddress = objCDOMSG.Sender.Address
    If Err = &H80070005 Then
        'handle possible security patch error
        MsgBox "The Outlook E-mail and CDO Security Patches are " & _
            "apparently installed on this machine. " & _
            "You must response Yes to the prompt about " & _
            "accessing e-mail addresses if you want to " & _
            "get the From address.", vbExclamation, _
            "GetFromAddress"
    End If
   
    GetFromAddress = strAddress
   
    Set objCDOMSG = Nothing
    objSession.Logoff
    Set objSession = Nothing
End Function
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-113032-1-1.html 上篇帖子: Outlook 2003、Foxmail 5.0的反垃圾邮件设置 下篇帖子: Outlook-收件箱修复工具Inbox Repair tool (Scanpst.exe)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表