我编写了一个C#表单应用程序,可以使用Outlook 2013发送和接收电子邮件。我使用MAPI namespeace。(“Outlook._NameSpace _ns = _app.GetNamespace(”MAPI“);”)。 我的问题是:如何为电子邮件创建标识符? 我想将它保存到一个SQL数据库表中,然后识别表是否已包含此邮件。 我找到了mail.CreationTime和mail.SenderEmailAddress,但是在send方法(代码最后一行)之后,邮件已经是空的。 谢谢任何帮助。
我发送了我的发送消息代码:
Outlook._Application _app = new Outlook.Application();
Outlook._NameSpace _ns = _app.GetNamespace("MAPI");
Outlook.MAPIFolder inbox = _ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.MailItem mail = (Outlook.MailItem)_app.CreateItem(Outlook.OlItemType.olMailItem);
mail.To = ActEmail.To;
mail.CC = ActEmail.CC;
mail.Subject = ActEmail.Subject;
mail.Body = ActEmail.Body;
mail.Importance = Outlook.OlImportance.olImportanceNormal;
if(ActEmail.Attachments.Count != 0)
{
foreach (Attachment item in ActEmail.Attachments)
{
mail.Attachments.Add(item.Attachment1, Outlook.OlAttachmentType.olByValue, 1, item.Attachment1);//.Substring(item.Attachment1.LastIndexOf('\') + 1));
}
}
((Outlook._MailItem)mail).Send();
string theString = mail.CreationTime + mail.SenderEmailAddress;
答案 0 :(得分:1)
使用MailItem.EntryID
。请注意,如果将邮件移动到其他文件夹,它将会更改。