通过使用已发送邮件文件夹的Items.ItemAdd
事件处理程序解决了发送邮件之后发送电子邮件的earlier problem问题。当我不更改发件人邮箱时,此工作正常。但是,如果我通过从mailItem.Display(true);
显示的界面上的发件人的下拉列表中选择其他一些帐户来更改它,则发送的邮件会落在"已发送的项目中#34;此其他帐户的文件夹,但
Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderSentMail);
没有相应的改变,所以这样我就无法收到消息。我怎么能得到"发送的物品"所选(非默认)发件人的文件夹? (可接受的解决方法是更改默认邮箱,但我也不知道如何执行此操作)。
答案 0 :(得分:1)
Store类的GetDefaultFolder方法返回一个Folder
对象,该对象表示商店中的默认文件夹,并且是FolderType
参数指定的类型。此方法类似于GetDefaultFolder
对象的NameSpace
方法。区别在于此方法获取与该帐户关联的传递存储上的默认文件夹,而NameSpace.GetDefaultFolder
返回当前配置文件的默认存储上的默认文件夹。
您可以处理ItemSend
类的Application
事件,您可以在其中获取发件人。然后,您可以找到关联的商店并使用GetDefaultFolder方法获取正确的已发送邮件文件夹。
请注意,MailItem类的SaveSentMessageFolder属性返回或设置一个Folder对象,该对象表示发送后将保存电子邮件副本的文件夹(而不是Sent Items文件夹) )。