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

ccccc
ccccc 这家伙很懒,还没有设置简介...

0 人点赞了该文章 · 5 浏览

  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 = outlookApp.CreateItem;

  // 设置权限:不可转发

  mail.Permission = OlPermission.olDoNotForward;

  // 是否要求送达回执

  mail.OriginatorDeliveryReportRequested = true;

  // 设置邮件过期时间

  mail.ExpiryTime = DateTime.Now.AddMinutes;

  // 设置邮件接收方

  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 = mail;

  mailItem.Send;

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

  // 创建邮件对象

  MailItemmail= outlookApp.CreateItem;

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

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

  mail.Attachments.Add;

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

  ///

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

  ///

  ///邮件地址

  ///返回Outlook账户

  publicstatic Microsoft.Office.Interop.Outlook.Account GetAccountForEmailAddress

  {

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

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

  foreach

  {

  if

  {

  return account;

  }

  }

  returnnull;

  }

  // 获取指定Outlook账户

  Microsoft.Office.Interop.Outlook.Account account = GetAccountForEmailAddress;

  // 创建邮件对象

  MailItem mail = outlookApp.CreateItem;

  if

  {

  // 邮件发送账户

  mail.SendUsingAccount = account;

  }

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

  // 获取指定Outlook账户

  Microsoft.Office.Interop.Outlook.Account account = GetAccountForEmailAddress;

  // 收件箱文件夹

  MAPIFolder inbox = null;

  if

  {

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

  inbox = account.DeliveryStore.GetDefaultFolder;

  }

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

  Folder targetFolder = account.Session.Folders.Cast.ToList.Find);

  if

  {

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

  inBox = targetFolder.Store.GetDefaultFolder;

  }

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

  如何获取到邮件的回执

  // 获取指定Outlook账户

  Microsoft.Office.Interop.Outlook.Account account = GetAccountForEmailAddress;

  // 收件箱文件夹

  MAPIFolder inbox = null;

  if

  {

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

  inbox = account.DeliveryStore.GetDefaultFolder;

  }

  if

  {

  // 遍历收件箱

  foreach

  {

  if != null)

  {

  // 处理普通邮件

  }

  if != null)

  {

  // 处理回执邮件

  }

  // ... ...

  }

  }

  

发布于 2022-12-16 19:04

免责声明:

本文由 ccccc 原创或收集发布于 火鲤鱼 ,著作权归作者所有,如有侵权可联系本站删除。

火鲤鱼 © 2025 专注小微企业服务 冀ICP备09002609号-8