创建邮件发件人对象

Joe*_*ore 4 c# outlook

我在Outlook 2013中创建了一个电子邮件对象,但我找不到如何创建Sender对象.我正在使用此代码:

Outlook.MailItem mail = (Outlook.MailItem)
         Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem);
mail.To = "mail@gmail.com"
mail.Sender = // What goes here?
mail.Subject = "Mail subject";
Run Code Online (Sandbox Code Playgroud)

Sender对象是Outlook.AddressEntry接口的实现,因此必须在某处实现,但在哪里呢?是否可以创建此Sender对象?

顺便说一句,电子邮件的发件人不一定是在Outlook注册的帐户,所以我不能使用该mail.SendUsingAccount属性.

Joe*_*ore 7

感谢Dmitry Streblechenko上面的评论,我可以得到答案,这些是创建一个AddressEntry并分配给它的行Sender:

Outlook.MailItem mail = (Outlook.MailItem) Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olMailItem);
Outlook.Recipient recipient = Globals.ThisAddIn.Application.Session.CreateRecipient("mymail@domain.com");
mail.Sender = recipient.AddressEntry;
Run Code Online (Sandbox Code Playgroud)


Shi*_*iva 1

您不能直接设置此属性Outlook.MailItem.Sender

仅当 Outlook 客户端中配置了多个帐户时,才可以将该属性设置为特定帐户属性AddressEntry所代表的用户对象。CurrentUser

更多信息:请参阅http://msdn.microsoft.com/en-us/library/office/ff869056.aspx

  • AddressEntry 对象是来自 OOM 的 AddressEntry 接口的 .Net 包装器。并且可以从其他 OOM 对象(Namespace.AddressLists、Namespace.CreateRecipient/Recipient.Resolve/Recipient.AddressEntry 等)检索 AddressEntry 对象的实例 (5认同)