zoukankan      html  css  js  c++  java
  • EWS Managed API 2.0 设置获取邮件自动回复功能

    摘要

    最近要在邮件提醒功能中添加,自动回复的功能。在移动端获取用户在outlook上是否开启了自动回复功能,如果用户在outlook上开启了自动回复功能, 获取用户自动回复的内容,如果没有开启,用户可以在移动端开启自动回复并且可以设置自动回复的内容,当然,用户也可以在移动端进行关闭。

    一个例子

    获取用户自动回复的信息。

        class Program
        {
            static ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
            static void Main(string[] args)
            {
                service.Url = new Uri("https://xxxxx/exchange.asmx");
                service.Credentials = new NetworkCredential("username", "userpwd", "domain");
                var oofSettiing = service.GetUserOofSettings("username@xxxx.com");           
                if (oofSettiing != null)
                {
                    Console.WriteLine(oofSettiing.Duration.StartTime.ToString());
                    Console.WriteLine(oofSettiing.Duration.EndTime.ToString());
                    Console.WriteLine(oofSettiing.State.ToString());
                    Console.WriteLine(oofSettiing.ExternalReply.Message.ToString());
                    string msg = oofSettiing.ExternalReply.Message.ToString();
                    HtmlDocument doc = new HtmlDocument();
                    doc.LoadHtml(msg);
                    HtmlNodeCollection pLists = doc.DocumentNode.SelectNodes(".//p");
                    if (pLists != null && pLists.Count > 0)
                    {
                        foreach (var item in pLists)
                        {
                            Console.WriteLine(item.InnerText);
                        }
                    }
                }
                Console.Read();
            }
        }

    注意获取的自动回复内容为html标签的,所以需要过滤,这里使用HtmlAgilityPack组件,对html进行解析。

    如图所示

    设置自动回复

      var myOOF = new OofSettings();
                // Set the OOF status to be a scheduled time period.
                myOOF.State = OofState.Scheduled;
    
                // Select the time period during which to send OOF messages.
                myOOF.Duration = new TimeWindow(DateTime.Now.AddDays(4), DateTime.Now.AddDays(5));
    
                // Select the external audience that will receive OOF messages.
                myOOF.ExternalAudience = OofExternalAudience.All;
    
                // Set the OOF message for your internal audience.
                myOOF.InternalReply = new OofReply("I'm out of office. I'll be back tomorrow. Thanks!");
    
                // Set the OOF message for your external audience.
                myOOF.ExternalReply = new OofReply("I'm out of the office but will reply to emails when I return. Thanks!");
                service.SetUserOofSettings("user@xxxx.com", myOOF);

    资料

    https://msdn.microsoft.com/en-us/library/hh532556(EXCHG.80).aspx

  • 相关阅读:
    STM
    backend flow
    Trace Sys
    CDC spyglass
    clock gating and PLL
    fault coverage enhancement
    008-docker-安装-tomcat:8.5.38-jre8
    007-docker-安装-mysql:5.6
    006-docker-安装-nginx
    005-docker-镜像:run、search、pull、commit、打tag
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/6650128.html
Copyright © 2011-2022 走看看