用
Get outlook mail messages获取邮件(运行过程中发现,如果要成功运行,需要配置outlook可见文章最后遇到问题列表)
用Excel Application Scope写入Excel
Get outlook mail messages属性:
账户:输入你的邮箱地址
邮箱文件夹:你要获取邮件的文件夹名称
顶部(top):此处是填入要获取的邮件个数。
最重要的属性是筛选器(filter):此处需要填入筛选语句,支持的jet查询语法和DASL查询语法。(这两个查询语法找不到什么资料,只能比着葫芦画瓢)
获取邮件中,我们要筛选要获取的邮件,所以我们主要用到:urn:schemas:httpmail
其中使用DASL语法时,命名空间相关介绍:
[Docs / Office VBA 参考 / Outlook / 操作说明主题 / 导航 / 属性概述 / 按命名空间引用属性]
空间的定义可参考:
[文件 之前的版本 办公室 Exchange Server 2007 Exchange 2007 SDK 参考 Exchange商店参考 Exchange存储架构 按名称空间的属性 urn:schemas:httpmail:命名空间]
几个重要是的字段名:
Subject:邮件主题
ToEmailAddress:发件箱中的发送地址
CCEmailAddress:抄送地址
SenderEmailAddress:发件人地址
ReceivedTime:收件时间
例如筛选主题语句:
"@SQL="+""""+"urn:schemas:httpmail:subject"+""""+"like '%提醒%'"
然后在输出,创建一个变量mail,接收Get outlook mail messages的输出值。类型为:LIst<MailMessage>
接下来我们创建一个Excel,用来记载我们筛选出的邮件
用foreach 遍历变量mail, 可以知道item是MailMessage类型的,在循环里面打个断点,看看item里都有哪些信息。
在本地窗口,可以看到每一个变量的类型及具体信息。MailMessage主要有以下信息:
from和sender都是发件人信息, MailAddress类型,没有什么区别。
To:收件人 收件人可能多个,所以是 MailAddressCollection类型。
CC:抄送人 可能多个,所以是 MailAddressCollection类型。
Subject:主题内容 string类型
Headers: 邮件头部内容,可见包括用户ID,日期,创建日期,收件日期,正文等等字段
attachment:附件
body:正文
创建datatable类型的变量mailData:用代码初始化变量mailData,
然后将取到的邮件数据循环写入mailData
用Get outlook mail messages获取邮件(运行过程中发现,如果要成功运行,需要配置outlook可见文章最后遇到问题列表)用Excel Application Scope写入ExcelGet outlook mail messages属性:账户:输入你的邮箱地址邮箱文件夹:你要获取邮件的文件夹名称顶部(top):此处是填入要获取的邮件个数。最重要的属性是筛选器(filter):此处需要填入筛选语句,支持的jet查询语法和DASL查询语法。(这两个查询语法找不到什么资
教程名称:
Outlook
邮件
数据备份工具大全【】ABF
outlook
很好的
邮件
完全 备份工具.zip【】nk2view
outlook
2003力荐免费工具.zip【】
Outlook
Express郵件修復工具.zip【】
outlook
pst 文件修复工具.zip【】
outlook
2003删除重复
邮件
的插件Duplicates Re
资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
如果要对
邮件
进行一些自动化处理,就要先
获取
邮件
到程序当中,这里使用的控件是get
outlook
mail
message
获取
到的
邮件
列表是个list类型的变量,可以使用foreach依次对每个
邮件
进行处理,注意右侧的参数类型,要设置为System.Net.
mail
.
Mail
Message才能被正确接收
通过打断点调试,可以查看
mail
中的属性,这里把重要的属性标记了一些
保存附件参照下述链接:
Outlook
保存附件
可以使用write cell直接将
mail
变量中内容填入到
excel
中
Get
Outlook
Mail
Message
参数说明:
1、
Mail
Folder:必填参数,这里是需要读取
邮件
的目录,默认为inbox,若使用的中文版的
outlook
,可填写“收件箱”或者其他目录
2、
Messages
:读取
邮件
之后输出的变量,类型为List<
Mail
Message>,若需要对每封
邮件
进行处理,可以配合使用 For Each来遍历
邮件
数组,需要注意参数类型需要选择
Mail
Message,如下图:
3、Filter:
筛选
,可通过指定
邮件
时间、发件人等条件进行
筛选
,具体使用可参
使用
outlook
邮箱时通用的参数我就不详细说明了,我就说说我遇到的坑
1、Account :取值对应的是账户文件夹,千万不要当成是邮箱账户名了,否正会报错提示文件夹不存,害的我搞了几个小时,一直没有找到对于这个值的详细说明,于是只能请求度娘,找到了http://dotnetbasic.com/2019/07/
uip
ath
-e
mail
-automation.html 这个时国外的大神录的视频,受益匪浅。
2、
Mail
Floder :是账户文件加下面的文件加名称,如果是多层时可以写成"收件箱/张三...
在
Outlook
中如何修改收到
邮件
的主题 Editing received
messages
and subjects
1. 双击
邮件
,在一个单独窗口打开
2. 点击主题那行,虽然看起来是不可编辑的,但你可以输入新的主题
3. 关闭并保存
邮件
Editing
received
messages
and subjects
Editing a subje
邮箱文件夹:你要
获取
邮件
的文件夹名称
顶部(top):此处是填入要
获取
的
邮件
个数。
最重要的属性是
筛选
器(filter):此处需要填入
筛选
语句,支持的jet查询语法和DASL查询语法。(这两个查询语法找不到什么资料,只能比着葫芦画瓢)
获取
邮件
中,我们要
筛选
要
获取
的
邮件
,所以我们主要用到:urn:
Application
outlook
App = new Application();
NameSpace
outlook
Ns =
outlook
App.GetNamespace("MAPI");
MAPIFolder inboxFolder =
outlook
Ns.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
Items inboxItems = inboxFolder.Items;
inboxItems.ItemAdd += new ItemsEvents_ItemAddEventHandler(InboxItems_ItemAdd);
Console.WriteLine("Monitoring Inbox for new e
mail
s...");
Console.ReadLine();
static void InboxItems_ItemAdd(object Item)
Mail
Item
mail
= (
Mail
Item)Item;
Console.WriteLine("New e
mail
received: " +
mail
.Subject);
这个代码示例使用
Outlook
的 Interop 库来监控收件箱中的新
邮件
。它会在控制台输出新
邮件
的主题。注意,你需要在项目中添加对 Microsoft.Office.Interop.
Outlook
的引用。