【发布时间】:2021-05-26 03:10:42
【问题描述】:
我正在完成如何使用功能区设计器创建您的第一个 Outlook 插件的演练:https://docs.microsoft.com/en-us/visualstudio/vsto/walkthrough-creating-your-first-vsto-add-in-for-outlook?view=vs-2019
我的目标是制作在问候语中包含发件人姓名的回复模板。
通过研究这个问题,我相信我需要MailItem.SenderEmailAddress 或MailItem.Sender,但是当我尝试将它添加到mailitem.htmlbody 时,它根本没有显示任何内容。
这是我的测试代码。
private void Teser_button2_Click(object sender, RibbonControlEventArgs e)
{
{
if (Globals.ThisAddIn.Application.ActiveExplorer() != null)
{
MailItem mi = Globals.ThisAddIn.Application.ActiveExplorer().ActiveInlineResponse;
if (mi != null)
{
mi.HTMLBody = mi.SenderEmailAddress + @"<BODY style=font-size:11pt;font-family:Calibri></BODY>Hello ENTERNAMEHERE,
<br><
<br>Here is a brief summary on everything worked on:
<br>
<br>Thank you for your time,
<br>
" + mi.HTMLBody;
mi.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
}
}
}
}
我尝试将mi.SenderEmailAddress 更改为mi.Sender,但仍然一无所获。
感谢任何想法!
更新
以下代码对我既适用于 Outlook Explorer,也适用于弹出窗口(它不是最好的,但很有效):
private void Domain_setup_Click_1(object sender, RibbonControlEventArgs e)
{
if (Globals.ThisAddIn.Application.ActiveExplorer() != null)
{
MailItem mi = Globals.ThisAddIn.Application.ActiveExplorer().ActiveInlineResponse;
Outlook.Selection selection = Globals.ThisAddIn.Application.ActiveExplorer().Selection;
object item = selection[1];
if (mi != null && item is Outlook.MailItem mailItem)
{
string senderName = mailItem.SenderName;
mi.HTMLBody = @"<BODY style=font-size:11pt;font-family:Calibri></BODY>Hello " + senderName + @",
<br>
<br>Here is the information for the new domain/user account:
<br>
<br>Computer username: ENTERDOMAINORUSERNAMEHERE
<br>Computer password: ENTERPASSWORD
<br>
<br>Thank you for your time,
<br>
" + mi.HTMLBody;
}
}
if (Globals.ThisAddIn.Application.ActiveInspector() != null)
{
MailItem mi = Globals.ThisAddIn.Application.ActiveInspector().CurrentItem;
Outlook.Selection selection = Globals.ThisAddIn.Application.ActiveExplorer().Selection;
object item = selection[1];
if (mi != null && item is Outlook.MailItem mailItem)
{
string senderName = mailItem.SenderName;
mi.HTMLBody = @"<BODY style=font-size:11pt;font-family:Calibri></BODY>Hello " + senderName + @",
<br>
<br>Here is the information for the new domain/user account:
<br>
<br>Computer username: ENTERDOMAINORUSERNAMEHERE
<br>Computer password: ENTERPASSWORD
<br>
<br>Thank you for your time,
<br>
" + mi.HTMLBody;
}
}
}
【问题讨论】: