none
请问VB.net怎么判断共享邮箱(也就是附加邮箱,additional mailbox或shared mailbox)中的邮件有没有回复?

    问题

  • 我的outlook版本是2007,请问怎么检查共享邮箱(也就是附加邮箱,additional mailbox或shared mailbox)中的邮件有没有回复?
    我用propertyAccessor.GetProperty只成功的检查了个人邮箱中的邮件是否有回复。共享邮箱中的邮件回复后没有向左的箭头。不能按主题检查,因为回复的时候可能会更改主题。请教应该如何做?给个思路也好。谢谢!

    2017年1月10日 11:33

答案

  • Hi leon1526,

    我觉得你应该记录下每个邮件的状态,对每个用户来说。这样会好处理。当一个用户查看了一封邮件,我们应该记录访问的时间,谁访问了。

    共享文件,我觉得谁修改过邮件,干什么事情得记录下,下一个用户,先去访问这些资源。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 leon1526 2017年1月13日 12:47
    2017年1月11日 5:54
    版主
  • Hi leon,

    你是怎么使用propertyAccessor.GetProperty,或者说你的additional mailbox或shared mailbox是怎么设置的?我测试了下面的代码,对于在shared mailbox里面的邮件有回复箭头的,我是可以得到102,102表示EXCHIVERB_REPLYTOSENDER。

    mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10810003")

    如果在邮件里面没有回复箭头,那是获取不到的。

    根据你的描述,你是不是指共享邮箱里面没有向左的箭头,如果是,那我建议你检查下这个邮件是否回复过,或者说是否回复给发件人。

    对于Office Outlook 开发的问题,我建议你发在Outlook专门的开发论坛,不过只有英文的,我建议你在下面的论坛发英文贴。
    https://social.msdn.microsoft.com/Forums/office/en-US/home?forum=outlookdev

    Best Regards,

    Edward


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 leon1526 2017年1月13日 12:46
    2017年1月13日 10:01

全部回复

  • Hi leon1526,

    我觉得你应该记录下每个邮件的状态,对每个用户来说。这样会好处理。当一个用户查看了一封邮件,我们应该记录访问的时间,谁访问了。

    共享文件,我觉得谁修改过邮件,干什么事情得记录下,下一个用户,先去访问这些资源。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 leon1526 2017年1月13日 12:47
    2017年1月11日 5:54
    版主
  • Hi leon1526,

    我觉得你应该记录下每个邮件的状态,对每个用户来说。这样会好处理。当一个用户查看了一封邮件,我们应该记录访问的时间,谁访问了。

    共享文件,我觉得谁修改过邮件,干什么事情得记录下,下一个用户,先去访问这些资源。

    Hi Hart,

    多谢你的回复! 每个邮件的状态是否只存在于个人邮箱?请问如何记录每个邮件的状态?这些记录又存放在何处?可以说的稍详细点吗?期待你的再次回复,谢谢!

    2017年1月11日 6:34
  • Hi leon1526,

    这些记录我们可以认为是信息,这个存储地方应该是你软件架构设计决定的。

    你可以通过过MailItem.PropertyChange Event 这个事件,来判断邮件是否以回复。

    Explorer.SelectionChange Event 去判断用户。

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年1月11日 7:15
    版主
  • 这些记录我们可以认为是信息,这个存储地方应该是你软件架构设计决定的。

    你可以通过过MailItem.PropertyChange Event 这个事件,来判断邮件是否以回复。

    Explorer.SelectionChange Event 去判断用户。

    Hi Hart,你提到的这两个事件点开链接好像是outlook2013及其后版本的。

    我想可能我没有描述清楚,如果是检查个人邮箱可能不好操作和管控,用户也不希望被检查到邮件未回复,所以只能检查共享邮箱,但是共享邮箱我拿不到类似是否已回复的属性。你提到通过MailItem.PropertyChange Event来判断邮件是否回复,似乎要将程序部署到每一个客户端(我只希望部署自己的电脑上)?抱歉我对outlook知之甚少,只是以前用过一些简单的VBA。请问我能否通过邮件服务器拿到是否已回复的属性?

    2017年1月11日 7:42
  • Hi leon,

    你是怎么使用propertyAccessor.GetProperty,或者说你的additional mailbox或shared mailbox是怎么设置的?我测试了下面的代码,对于在shared mailbox里面的邮件有回复箭头的,我是可以得到102,102表示EXCHIVERB_REPLYTOSENDER。

    mail.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x10810003")

    如果在邮件里面没有回复箭头,那是获取不到的。

    根据你的描述,你是不是指共享邮箱里面没有向左的箭头,如果是,那我建议你检查下这个邮件是否回复过,或者说是否回复给发件人。

    对于Office Outlook 开发的问题,我建议你发在Outlook专门的开发论坛,不过只有英文的,我建议你在下面的论坛发英文贴。
    https://social.msdn.microsoft.com/Forums/office/en-US/home?forum=outlookdev

    Best Regards,

    Edward


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 leon1526 2017年1月13日 12:46
    2017年1月13日 10:01
  • Hi Edward,

    抱歉是我把大家弄糊涂了,实际所有的邮件都没有通过共享邮箱回复,因此也就没有向左的那个箭头,这个只是大家在发送邮件时抄送到共享邮箱,客户在回复时自然也会抄送到共享邮箱。

    如果是共享邮箱没有那个箭头(即已回复的属性),这样的话还能否通过共享邮箱检查客户发给我们的邮件有没有回复呢?

    2017年1月13日 11:04
  • 嗨,

    根据我的测试,回复过的邮件都会有箭头,我建议你检查下,是否会出现已经回复但是没有箭头的情况。按照我的理解,只要你共享邮箱里的邮件回复过了,就可以通过上面的代码得102的结果。

    通过查看你的历史发帖记录,我发现你之前你发过跟Outlook 相关的问题,我是建议你对于 Outlook的开发问题去Outlook的论坛,更能得到及时有效的帮助。

    Best Regards,

    Edward


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年1月13日 12:09
  • Thank you,Hart and Edward!
    2017年1月13日 12:36