C#实现outlook自动签名
Outlook下实现自动签名的方式
网上找到一篇资料是在outlook里用vba实现的,但是这样实现的方式由于数字认证的问题不便于部署
在此介绍一种C#下实现的方式,目前确定的outlook版本为2007以上,2003的未测试
通过vs2012新建office->2010->outlook2010外接程序 的解决方案
步骤如下:
源代码如下:
using System;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Interop.Outlook;
namespace AutoSigAddIn
{
public partial class ThisAddIn
{
private Inspectors _inspectors;
private MailItem _mailItem;
/// <summary>
/// 插件启动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ThisAddIn_Startup(object sender, EventArgs e)
{
Application.Startup+=Application_Startup;
}
/// <summary>
/// 应用程序启动
/// </summary>
private void Application_Startup()
{
_inspectors=Application.Inspectors;
_inspectors.NewInspector += inspectors_NewInspector;
}
void inspectors_NewInspector(Inspector inspector)
{
_mailItem = inspector.CurrentItem;
//当主题不为空并且是 RE: 或 FW: 开头的,不添加签名
if (!string.IsNullOrEmpty(_mailItem.Subject)
&&(_mailItem.Subject.ToUpper().StartsWith("RE:")
||_mailItem.Subject.ToUpper().StartsWith("FW:")))
{
return;
}
//设置签名
_mailItem.HTMLBody += @"<p>自动签名</p>";
_mailItem.HTMLBody += DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss");
}
private void ThisAddIn_Shutdown(object sender, EventArgs e)
{
}
#region VSTO 生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InternalStartup()
{
Startup += ThisAddIn_Startup;
Shutdown += ThisAddIn_Shutdown;
}
#endregion
}
}
using Office = Microsoft.Office.Core;
using Microsoft.Office.Interop.Outlook;
namespace AutoSigAddIn
{
public partial class ThisAddIn
{
private Inspectors _inspectors;
private MailItem _mailItem;
/// <summary>
/// 插件启动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ThisAddIn_Startup(object sender, EventArgs e)
{
Application.Startup+=Application_Startup;
}
/// <summary>
/// 应用程序启动
/// </summary>
private void Application_Startup()
{
_inspectors=Application.Inspectors;
_inspectors.NewInspector += inspectors_NewInspector;
}
void inspectors_NewInspector(Inspector inspector)
{
_mailItem = inspector.CurrentItem;
//当主题不为空并且是 RE: 或 FW: 开头的,不添加签名
if (!string.IsNullOrEmpty(_mailItem.Subject)
&&(_mailItem.Subject.ToUpper().StartsWith("RE:")
||_mailItem.Subject.ToUpper().StartsWith("FW:")))
{
return;
}
//设置签名
_mailItem.HTMLBody += @"<p>自动签名</p>";
_mailItem.HTMLBody += DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss");
}
private void ThisAddIn_Shutdown(object sender, EventArgs e)
{
}
#region VSTO 生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InternalStartup()
{
Startup += ThisAddIn_Startup;
Shutdown += ThisAddIn_Shutdown;
}
#endregion
}
}
微信公众号: abplearn
QQ: 1260825783