您好我想从位于磁盘上的现有创建Outlook.MailItem(我相信).我将路径存储在一个字符串中,并希望访问以保存它的正文和附件.
我似乎无法弄清楚如何在c#中打开它并访问它.
目前我有一些东西
其中fl评估为"C:\ users\msgs\email.msg"之类的内容
谢谢你的时间
Outlook.Application app = new Outlook.Application();
try
{
foreach (String fl in Directory.GetFiles(docInfo.LocalPath + _preprocessorDirectory))
{
if (Regex.IsMatch(fl.Trim(), _regex, RegexOptions.IgnoreCase))
{
Outlook.MailItem email = new Outlook.MailItem(fl);
SaveAttachments(email);
SaveBody(email);
}
}
}
catch (Exception ex)
{
logger.Error("Error in Process for document " + docInfo.OriginalPath, ex);
callback.Invoke(docInfo, false);
}
return false;
Run Code Online (Sandbox Code Playgroud) 我想从我的 Outlook 加载项中选择一个邮件项目。我知道如何从 C# 显示邮件项目,但我需要在 Outlook 窗口本身中选择它。
显示邮件项目:
mailItem.Display();
Run Code Online (Sandbox Code Playgroud)
我正在使用 Outlook 2010 加载项。
有人知道如何做到这一点吗?
编辑:新信息:我刚才意识到,虽然Mailitem.Body的返回是"",但实际值是"应用程序定义的或对象定义的错误".我不完全确定这意味着什么,但我确实知道它出现在多个领域 - 我在下面放了一个屏幕截图.

我遇到的问题是某些属性会返回正确的值,而其他属性则不会.我有一个示例电子邮件,其中我有一个主题为"主题"的电子邮件,邮件为"正文",发件人电子邮件地址为"email@address.com",发送日期为2013年6月12日.
当我运行以下代码时:
Dim ComputerName As String
Dim ErrorState As String
For Each MailItem In InboxItems
ComputerName = MailItem.Subject
'ErrorState = MailItem.Body
ErrorState = MailBody(MailItem)
strDate = GetDate(MailItem.SentOn)
SenderEmail = MailItem.SenderEmailAddress
If strDate = DateToday And SenderEmail = "email@address.com" Then
Computers(a, 0) = ComputerName
Computers(a, 1) = ErrorState
a = a + 1
End If
Debug.Print MailItem.Subject
Debug.Print MailItem.Body
Next MailItem
Run Code Online (Sandbox Code Playgroud)
我得到的是ComputerName ="Subject",ErrorState ="",SenderEmail =""和strDate ="2013/6/12"(在这种情况下这是正确的格式).为什么这会返回两个Mailitem属性的正确值,而不是其他两个属性?这是一个非常奇怪的问题,我将非常感谢你们所能给予的任何帮助!
我将在这里为代码添加更多上下文:
Set objOutlook = CreateObject("Outlook.Application", "localhost")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set Inbox …Run Code Online (Sandbox Code Playgroud) 我想发送回复来说明我的Outlook mailBox中的特定邮件.我打算通过使用主题/正文/发件人搜索邮箱找到邮件,然后回复找到的邮件.我已成功使用C#从邮箱中搜索邮件,但我无法回复邮件.
而且,如果我使用回复,它将是在Outlook中执行的操作的完全复制品,即如果在邮件上回复,主题是否会添加RE:或者我们需要手动将文本附加到主题?
请饶恕我的无知
任何帮助将不胜感激