我有更改邮件发送属性的问题,因为该属性是只读的,我需要从vba级别更改它。
从共享邮箱发送邮件后(使用在线Outlook模式)出现问题。邮件不会转到共享邮箱中的“已发送邮件”文件夹,但会保留在发件箱文件夹中。我已经制作宏来将邮件移动到正确的文件夹,一切都很好,但邮件的状态未发送(当你打开mailitem时,你处于编辑模式)。我找不到任何问题的解决方案。
这是发件箱文件夹,其中包含从共享邮箱发送的正确发送的邮件和邮件:
答案 0 :(得分:0)
在低(扩展MAPI)级别,只能在第一次保存项目之前更改发送/未发送状态(MSGFLAG_UNSENT
属性中的PR_MESSAGE_FLAGS
位)。
Outlook对象模型当然受到相同的限制,在发送状态下创建项目的唯一方法是创建一个PostItem
对象 - 它是在已发送状态下创建的。然后,您需要将邮件类更改回IPM.Note
并删除与图标相关的属性,以确保该项目看起来正确。
Redemption可让您更改项目的状态(RDOMail。Sent
是可读/写的,直到第一次调用保存为止。
回到你的特定问题,你需要弄清楚为什么这些项目留在未发送状态的文件夹中,而不是试图"修复"它
答案 1 :(得分:0)
我用不太整洁的方式解决了这个问题。我将注册表项DelegateSentItemsStyle更改为0,当我这样做时,发送的邮件转到我个人发送的Items文件夹。然后我只是将邮件移动到共享邮箱。