loading请求处理中...

OutLook模型中提供的对象有哪些?

2021-12-01 21:25:10 阅读 12278次 标签: 模具设计 作者: dreanman

  Outlook对象模型中提供的对象是我们编写外接程序与Outlook应用交互的桥梁。Outlook 对象模型提供表示用户界面中各项的类和接口。例如,Application对象表示整个应用程序,MAPIFolder对象表示包含电子邮件或其他项的文件夹,MailItem对象表示电子邮件。OutLook模型中提供的对象有哪些?一品威客小编为您道来。


  Application对象

  表示Outlook 应用程序,它是 Outlook 对象模型中最高级的对象。此对象包含很多重要的属性和方法,比如,创建一个邮件对象以便发送,CreateItem方法可以办到。

  MAPIFolder对象

  表示包含电子邮件、联系人、任务及其他项的文件夹。 Outlook 提供 16 个默认MAPIFolder对象。默认MAPIFolder对象由OlDefaultFolders枚举值定义。

  例如,Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox与 Outlook 中的“收件箱”文件夹相对应。

  MailItem对象

  表示电子邮件。MailItem对象通常在“收件箱”、“已发送邮件”和“发件箱”等文件夹中。MailItem公开可用于创建和发送电子邮件的属性和方法。

  l 可能会遇到的典型问题

  如何发送一封简单邮件?

  // 创建Outlook App

  ApplicationClass outlookApp = newMicrosoft.Office.Interop.Outlook.ApplicationClass();

  // 创建邮件对象

  MailItemmail = (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);

  // 设置权限:不可转发

  mail.Permission = OlPermission.olDoNotForward;

  // 是否要求送达回执

  mail.OriginatorDeliveryReportRequested = true;

  // 设置邮件过期时间

  mail.ExpiryTime = DateTime.Now.AddMinutes(ConfigParameterManager.ExpiryDay);

  // 设置邮件接收方

  mail.To = record.ToAccount;

  // 设置邮件主题

  mail.Subject = record.Subject;

  // 设置邮件内容格式,html、文本

  mail.BodyFormat = OlBodyFormat.olFormatHTML;

  // 设置邮件文本内容,html格式应该给HTMLBody属性赋值

  mail.HTMLBody = record.Content;

  // 发送邮件

  Microsoft.Office.Interop.Outlook._MailItem mailItem = (Microsoft.Office.Interop.Outlook._MailItem)mail;

  mailItem.Send();

  如何发送一封带图片的邮件

  // 创建邮件对象

  MailItemmail= (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);

  // 获取图片附件,并添加到邮件对象

  string headImage = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Image/head.png";

  mail.Attachments.Add(headImage, OlAttachmentType.olOLE, 1, "");

  如何根据指定邮件地址获取Outlook账户对象,并用该账户发送邮件

  ///

  ///根据邮件地址获取Outlook账户对象

  ///

  ///邮件地址

  ///返回Outlook账户

  publicstatic Microsoft.Office.Interop.Outlook.Account GetAccountForEmailAddress(string smtpAddress)

  {

  ApplicationClass application = new Microsoft.Office.Interop.Outlook.ApplicationClass();

  Microsoft.Office.Interop.Outlook.Accounts accounts = application.Session.Accounts;

  foreach (Microsoft.Office.Interop.Outlook.Account account in accounts)

  {

  if (account.SmtpAddress == smtpAddress)

  {

  return account;

  }

  }

  returnnull;

  }

  // 获取指定Outlook账户

  Microsoft.Office.Interop.Outlook.Account account = GetAccountForEmailAddress("denghejun@517na.com");

  // 创建邮件对象

  MailItem mail = (MailItem)outlookApp.CreateItem(OlItemType.olMailItem);

  if (account != null)

  {

  // 邮件发送账户

  mail.SendUsingAccount = account;

  }

  如何获取指定账户的收/发件箱等

  // 获取指定Outlook账户

  Microsoft.Office.Interop.Outlook.Account account = GetAccountForEmailAddress("denghejun@517na.com");

  // 收件箱文件夹

  MAPIFolder inbox = null;

  if (account != null)

  {

  // 指定账户的收件箱文件夹

  inbox = account.DeliveryStore.GetDefaultFolder(OlDefaultFolders.olFolderInbox);

  }

  // 甚至你可以按文件夹名称直接查询到Outlook对应的Folder对象

  Folder targetFolder = account.Session.Folders.Cast().ToList().Find(p => p.Name.Equals("Myself Box"));

  if (targetFolder != null)

  {

  // 取到该文件对象下边的收件箱,或子文件夹

  inBox = targetFolder.Store.GetDefaultFolder(OlDefaultFolders.olFolderInbox);

  }

  注:DeliveryStore在Microsoft.Office.Interop.Outlook14.0.0.0版本中新增,标示指定账户的默认存储区。

  如何获取到邮件的回执

  // 获取指定Outlook账户

  Microsoft.Office.Interop.Outlook.Account account = GetAccountForEmailAddress("denghejun@517na.com");

  // 收件箱文件夹

  MAPIFolder inbox = null;

  if (account != null)

  {

  // 指定账户的收件箱文件夹

  inbox = account.DeliveryStore.GetDefaultFolder(OlDefaultFolders.olFolderInbox);

  }

  if (inbox != null)

  {

  // 遍历收件箱

  foreach (var item in inbox.Items)

  {

  if ((item asMailItem) != null)

  {

  // 处理普通邮件

  }

  if ((item asReportItem) != null)

  {

  // 处理回执邮件

  }

  // ... ...

  }

  }

  以上就是关于OutLook模型对象的介绍,如果您对OutLook模型对象还有其他的疑问或者需求,欢迎前往一品商城,一品商城汇聚应用软件开发人才,拥有丰富的应用软件开发经验,为您服务。


其他工具软件公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
其他工具软件相关任务
DESIGN TASK 更多
模具设计,制作

¥28000 已有1人投标

模具设计,制作

¥350 已有1人投标

儿童玩具挖掘机模具设计

¥29000 已有1人投标

儿童玩具飞机模具设计

¥29000 已有1人投标

塑胶模具设计

¥100 已有5人投标

模具设计(音乐版结构设计)

¥25000 已有1人投标

简单的模具设计

¥300 已有8人投标

铝合金型材挤压模具设计

¥7580 已有1人投标