[转]C#操作Outlook
本文转自:https://blog.csdn.net/yanlovehan/article/details/8500449
//引用Microsoft.Office.Interop.Outlook.dll
using Outlook = Microsoft.Office.Interop.Outlook;
using Microsoft.Office.Interop.Outlook;
//创建Application
Outlook.Application myOutlookApp = new Outlook.Application();
Outlook.NameSpace myNameSpace = myOutlookApp.GetNamespace("MAPI");
//本地邮箱
Outlook.MAPIFolder myFolderInbox = myNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderInbox);//获取收件箱对象,如获取其他箱可在参数中控制
Outlook.MAPIFolder myFolder = myFolderInbox.Folders["xx"];//“xx”为收件箱下的一个文件夹
Outlook.MAPIFolder MyParentFolder = myFolderInbox.Parent as Outlook.MAPIFolder;//获取收件箱上一级的文件夹对象,以次来获取与收件箱同级的文件夹
Outlook.MAPIFolder MyNewFolder = MyParentFolder.Folders["yy"];//“yy”为与收件箱同级的文件夹
//公共邮箱
string publicMailBoxName="jpn_eco_ci04@hp.com";
Outlook.Recipient objRecipient = myNameSpace.CreateRecipient(publicMailBoxName);//jpn_eco_ci04@hp.com为公共邮箱地址的全名称
Outlook.MAPIFolder myFolderInbox = myNameSpace.GetSharedDefaultFolder(objRecipient, OlDefaultFolders.olFolderInbox);
Outlook.MAPIFolder myFolder = myFolderInbox.Parent as Outlook.MAPIFolder;
Outlook.MAPIFolder myNewFolder = myFolder.Folders["(Z) 処理済"];
//指定发送的邮箱为公共邮箱
string publicMailBoxName = "vpchi.dlbc@hp.com";
mail.SentOnBehalfOfName = publicMailBoxName;
//***筛选***
//根据Subject属性对邮件进行筛选
const string subject = "BIS B2B Document Delivery";
string sFilter = "@SQL=" + "\"" + "urn:schemas:httpmail:subject" + "\"" + " like '%" + subject + "%'";
//根据邮件的收取时间进行筛选
Outlook.Items myMails = myFolderInbox.Items.Restrict(sFilter) as Outlook.Items;
//通配符
通配符
%
包含零个或多个字符的任意字符串。
WHERE title LIKE '%computer%' 将查找在书名中任意位置包含单词 "computer" 的所有书名。
_(下划线)
任何单个字符。
WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。
[ ]
指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。
WHERE au_lname LIKE '[C-P]arsen' 将查找以 arsen 结尾并且以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如 Carsen、Larsen、Karsen 等。在范围搜索中,范围包含的字符可能因排序规则的排序规则而异。
[^]
不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。
WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始并且其后的字母不为 l 的所有作者的姓氏。
//1.获取邮件对象
//2.根据筛选条件移动邮件
//3.获取附件并将其存到本地磁盘
const string filePath = @"C:\Print Attachment Folder\";
if (MyMails.Count != 0)
{
do
{
Outlook.MailItem myMail = myMails[1] as Outlook.MailItem;
Outlook.Attachments myAttachments = myMail.Attachments as Outlook.Attachments;
foreach (Outlook.Attachment myAttachment in myAttachments)
{
myAttachment.SaveAsFile(filePath + myAttachment.FileName);
}
myMail.Move(MyMoveFolder);
myMails = MyFolderInbox.Items.Restrict(sfilter) as Outlook.Items;
}
while (myMails.Count != 0);
}
//创建新邮件并添加附件发送
Outlook.Application myOutlookApp = new Outlook.Application();
Outlook.MailItem mail = myOutlookApp.CreateItem(Outlook.OlItemType.olMailItem) as Outlook.MailItem;
mail.Attachments.Add(TemplateExcel, Outlook.OlAttachmentType.olEmbeddeditem, 1, System.Type.Missing);
mail.Subject = "QC Check File";
string to = string.Empty; ;
for (int i = 0; i < mails.Count; i++)
{
to = to + mails[i] + ";";
}
mail.To = to;
mail.Send();
---------------------
作者:刘岩Tony
来源:CSDN
原文:https://blog.csdn.net/yanlovehan/article/details/8500449
版权声明:本文为博主原创文章,转载请附上博文链接!
[转]C#操作Outlook的更多相关文章
- 使用 C# 进行 Outlook 2003 编程
原文:使用 C# 进行 Outlook 2003 编程 摘要: 本文介绍了 Microsoft Outlook 2003 对象模型介,并探讨了如何使用 C# 编程语言生成 Outlook 识别的应用程 ...
- Outlook 如何初始化邮箱
首先我们找到邮箱的安装位置,我们可以右键Outlook,然后看其属性.找到其安装位置,复制下来,比如说 "C:\Program Files\Microsoft Office\root\Off ...
- 最近给几个CRM软件配套开发了Outlook插件,讲讲Outlook插件开发注意事项
原始出处:www.cnblogs.com/Charltsing/p/OutlookAddinsTips.html联系QQ:564955427 从去年到现在,写了四五个Outlook插件,其中两个是给C ...
- 【Life】 今天的思考
今天一个实习生来问我问题,他要用python操作outlook发送邮件,代码是从网上找的. 在其他人的电脑上可以成功运行,但在他的电脑上就失败. 处理过程 (1)我查看了他method里的代码, 发现 ...
- Outlook 2007无法打开链接"由于本机的限制 该操作已被取消"
编写人:CC阿爸 2014-2-17 近来在日常维护中,经常性的遇到用户在outlook中打开链接,提示[由于本机的限制,该操作已被取消],第一次的在网上搜索到解决办法后, 第二次再处理时,又没能记住 ...
- Outlook 2013 您的组织策略阻止我们为您完成此操作... 解决方法
问题:点击outlook超链接,弹出“您的组织策略阻止我们为您完成此操作”的提示,无法打开链接. 环境 OS: Win10 专业版x64bit Outlook: 2013 浏览器:搜狗浏览器 解决办法 ...
- 解决“与 Microsoft Exchange 的连接不可用,Outlook 必须联机或已连接才能完成此操作”
Microsoft Outlook 是一种用于发送和接收电子邮件的应用程序.由于其可靠性和各种使用类型,它在企业公司中非常受欢迎.Outlook 还可用于管理各种类型的个人数据,如日历约会.联系人.邮 ...
- Outlook 2013 在邮件里面点击超链接时弹出“组织策略阻止我们为您完成此操作”
现象描叙: 在Outlook在邮件里面点击超链接时,打不开超链接页面,弹出如下提示: 这个是因为之前安装了其它浏览器(例如,我安装了360的浏览器),并且设置为了默认浏览器,后来卸载了该浏览器 ...
- outlook 2003配置连接exchange server 2010报错——无法完成此操作。 与 Microsoft Exchange Server 的连接不可用。 Outlook 必须联机或连接才可完成该操作
最近安装了一台Exchange 2013邮件服务器,但在客户端Outlook 2013手动配置邮箱时却发现了如下错误: 这里说一个简单的解决办法,实际上第一次启动Outlook时可以自动发现,只需 ...
随机推荐
- 【ASP.NET Core学习】入门
下面操作都是基于VS Code,Net Core3.0 创建 Web 应用项目 VS Code终端输入 dotnet new webapp -o aspnetcoreapp 创建一个名称为aspne ...
- CSS学习笔记-背景属性
一.背景尺寸属性: 1.含义: 背景尺寸属性是CSS3中新增的一个属性,专门用于设置背景图片大小 2.格式: 1.1具体像素: backgro ...
- Kotlin Parameter specified as non-null is null
报错信息如下: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.j ...
- ABP入门教程13 - 更新菜单
点这里进入ABP入门教程目录 菜单更新 在展示层(即JD.CRS.Web.Mvc)的Startup下打开CRSNavigationProvider.cs //用以存放菜单相关信息 修改如下 using ...
- 非法指令(Illegal Instruction)问题定位
关键词:Illegal Instruction.SIGILL等. 进程在运行过程中会收到SIGILL信号,此类错误是由操作系统发送给进程的. SIGILL是某个进程中的某一句不能被CPU识别指令,这些 ...
- Ubuntu下Xilinx Linux内核编译问题,出现“缺少ncurses”libraries
对官方提供的内核源码包进行解压缩,进入到内核目录,使用make menuconfig后,发现提示以下错误: *** Unable to find the ncurses libraries or th ...
- 关于OpenCASCADE数组序列的起始值
C/C++的数组是从0开始计算的,5个值的数组则下标会对应 0, 1, 2, 3, 4. 在数学上可能不这么数,我所知道的 Mathematica 内的 List 是从 1 开始作为下标的. Open ...
- AcWing 39. 对称的二叉树
地址 https://www.acwing.com/problem/content/description/38/ 题目描述请实现一个函数,用来判断一棵二叉树是不是对称的. 如果一棵二叉树和它的镜像一 ...
- [CF1082D]Maximum Diameter Graph
题目描述 Description Graph constructive problems are back! This time the graph you are asked to build sh ...
- Yii2处理密码加密及验证
在Yii2中提供了密码加密以及验证的一系列方法,方便我们的使用,它使用的是bcrypt算法.查看源码我们可以发现它使用的是PHP函数password_hash()和crypt()生成. 加密: /** ...