通过编程为Outlook 2007添加邮件规则

Outlook 所支持的邮件规则相当有用,我们经常需要针对某些特征的邮件做特殊的处理。例如将其移动到某个特定文件夹,或者删除它等等。

Outlook所支持的邮件规则主要两大类:收到邮件时和发送邮件时

一个邮件规则的三大要素

1. 条件(Condition)

2. 动作(Action)

3. 例外(Exception)

下面是一个简单的范例,这是通过Visual Studio 2008所编写的Outlook 2007 外接程序(Add -in )。这个小程序演示了如何添加一个规则,该规则在收到邮件时检查所有发件人,如果发件人是[email protected],那么将执行一个动作(播放一个声音)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Outlook = Microsoft.Office.Interop.Outlook;
using Office = Microsoft.Office.Core;

namespace TestMailRule
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            Outlook.Rules rules = Application.Session.DefaultStore.GetRules();
            if (rules["测试"] == null)
            {
                Outlook.Rule rule = rules.Create("测试", Outlook.OlRuleType.olRuleReceive);
                rule.Conditions.From.Recipients.Add("[email protected]");
                rule.Conditions.From.Enabled = true;
                rule.Conditions.From.Recipients.ResolveAll();
                rule.Actions.PlaySound.FilePath = @"E:\My Documents\LOADER.WAV";

rule.Actions.PlaySound.Enabled = true;
                rule.Enabled = true;
                rules.Save(true);
            }
        }

private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

#region VSTO 生成的代码

/// <summary>
        /// 设计器支持所需的方法 - 不要
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        #endregion
    }
}

看起来不错,对吧?但事实上你完全可以通过手工做出上述的效果。

还有一个难题没有解决:如何自定义动作,并将其部署到Outlook里面去?

时间: 2024-10-12 18:00:49

通过编程为Outlook 2007添加邮件规则的相关文章

使用 C# 进行 Outlook 2007 编程

原文:使用 C# 进行 Outlook 2007 编程 探讨如何使用 C# 编程语言生成 Outlook 识别的应用程序和 Outlook 外接程序. 请从"Add References"对话框访问"COM"选项卡,并选择"Microsoft Outlook 12.0 Object Library" using Microsoft.Office.Interop.Outlook;   表 1选择 Application 类型的成员 CreateIt

导出 Outlook 2007 的规则

用了一段时间的 Outlook,您可能希望把 Outlook 中的规则导出做个备份.可能在需要时再导入.这个怎么做呢? 其实很简单: 工具菜单 --> 规则和通知--> 选项 --> 导出规则 选择文件保存的位置. 导入 Outlook 2007 的规则 在需要导入时可以这样: 工具菜单 --> 规则和通知--> 选项 --> 导入规则 选择当初保存好的文件. 易宝典提示:1) 原先有的规则不会消失,导入的规则只会添加上去.如果想要把备份的规则完全恢复到导出时的样子,把

zabbix详解:(三)添加邮件告警配置

大家应该心理有底,做监控不是只为了看服务器状态,虽然那也是监控的目的之一,但绝对不是全部,大家做监控的目的肯定是想预警,甚至是出问题就告警,毫无疑问zabbix也是支持告警规则的,现在来介绍传统的添加邮件告警,后面还会介绍微信告警. 添加邮件告警配置: 关于zabbix邮件告警的原理,其实是调用脚本,然后脚本通过邮件功能来向外发邮件,后面介绍的微信告警也是通过脚本调用微信接口来做的. 所以,告警的关键,就是脚本了,其实zabbix邮件告警这个功能很多文章有写,也有很多脚本可以参考,只是大部分版本

浅谈在outlook中添加Exchange共享账户

相信大家都知道如何在outlook中添加另一个Exchange邮箱账户的mailbox.不过还是简单说一下,实现的过程:1.建一个共享账号 2.在Exchange console中选中这个邮箱,右键选"Full Access Permission",然后添加相关账户 3.在outlook中添加Mailbox, 这样就搞定了. 这样添加共享邮箱会有个问题,大家只能接收,不能通过共享账号来发邮件! 鉴于Outlook在启用时只能存在一个Exchange连接方式的账户,直接添加共享账户是做不

2017年10月31日结束Outlook 2007与Office 365的连接

2017 年10月31日 ,微软即将推出 Office 365中Exchange Online邮箱将需要Outlook for Windows的连接,即通过HTTP Over MAPI方式,传统使用RPC over HTTP(例如Outlook 2007)的Windows客户端的Outlook将无法访问Exchange Online邮箱,不再支持. RPC over HTTP协议,也称为Outlook Anywhere,是Windows OS系统 Outlook客户端和Exchange 服务器之

部署kube-prometheus,添加邮件报警

这个项目出自coreos,已经存在很久了,第一次尝试的时候还很简陋,现在完善了很多. 项目提供了一键部署脚本,跑起来并不难,不过个人感觉要真正掌握并灵活使用并不是很容易. kube version: 1.9.1 OS version: debian stretch 1.从github把项目拉下来. # git clone https://github.com/coreos/prometheus-operator.git 2.准备镜像,这里用到了墙外的镜像,自行科学下载. quay.io/prom

Outlook 2007 不能正常打印解决方法

今天发现一个奇怪的问题:有一台客户机,打印其它文件(word/excel)等都是正常的,但是唯独 outlook 2007 上面的内容无法打印出来. 检查: 1.打印outlook邮件内容时,可以正常的查看到预览内容,打印后也提示是发送到打印机,但是到打印机上面查看时,没有打印的文件.2.打印邮件里的附件,正常3.打印其它文件时,打印里保存到打印文件,一切正常. 第一次遇到这样的情况,所以问度娘.发现也有好多人遇到类似的问题.直接根据提示一个一个来排查. 造成的原因: 1.win 系统安装了更新

keepalived启动后iptables自动添加Drop规则

keepalived 在启动后如果参数配置不当,会在iptables中自动添加一条DROP VIP的规则.这里的一些参数可能会造成这个问题. 1.在配置中添加了strict 或 noaccept参数. 2.在全局配置下使用了vrrp_strict 参数.此参数为严格控制VRRP协议,不支持单播模式,注释掉此选项,将不会默认添加DROP规则.

[Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 [Asp.net MVC]Asp.net MVC5系列——添加模型 [Asp.net MVC]Asp.net MVC5系列——从控制器访问模型中的数据 [Asp.net MVC]Asp.net MVC5系列——添加数据 概述 上篇文章中介绍了添加数据,在提交表单的数据的时候,我们需