C# 如何从 Outlook 的共享邮箱发送邮件并将其保存在已发送文件夹中

Posted

技术标签:

【中文标题】C# 如何从 Outlook 的共享邮箱发送邮件并将其保存在已发送文件夹中【英文标题】:C# How to send mail from Outlook's Shared Mailbox and keep it in Sent folder there 【发布时间】:2019-11-25 16:02:24 【问题描述】:

我知道如何通过 Office.Interop 通过 Outlook 中的共享邮箱以编程方式发送邮件。 但是我发送的邮件仍然存储在我的个人已发送邮件文件夹中(而不是共享邮箱的已发送邮件)。 所以其他人看不到发送了什么。它还消耗我的邮箱大小配额...

有没有办法通过共享邮箱发送邮件并将已发送的项目保存在那里? 如果不是(那么容易)至少从我的已发送邮件文件夹顶部共享邮箱复制已发送邮件?

* 编辑 *

以下是我当前的代码:

Application     app         = new Application();
MailItem        mailItem    = app.CreateItem(OlItemType.olMailItem);

mailItem.Subject        = subject;
mailItem.To             = to;           
mailItem.SentOnBehalfOfName = fromMail;


// Send
mailItem.Send();

【问题讨论】:

您是否尝试过使用 SentOnBehalfOf 或 SendUsingAccount? 见下文:social.msdn.microsoft.com/Forums/office/en-US/… 我正在使用 SentOnBehalfOf 。从未尝试过 SendUsingAccount。会检查的!谢谢 【参考方案1】:

您只需要设置MailItem.SaveSentMessageFolder 属性,该属性设置一个Folder 对象,该对象表示发送后将保存电子邮件副本的文件夹。

请注意,该文件夹应显示在您的商店中。如果您需要移动已发送的项目,我建议您处理文件夹上的ItemAdd 事件(默认为Sent Items)并通过调用Move 方法以编程方式移动项目。

【讨论】:

谢谢尤金 - 这就是我要找的东西!

以上是关于C# 如何从 Outlook 的共享邮箱发送邮件并将其保存在已发送文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

OUTLOOK邮箱里的已发送邮箱满了

outlook邮箱邮箱快满了,如何解决?

outlook邮箱怎么设置IMAP

outlook邮箱怎么发送邮件 步骤详解轻松搞定

outlook如何周期发送同一邮件

如何用VBA代码控制OUTLOOK发送邮件