C# Language
Microsoft.Exchange.WebServices
수색…
지정된 사용자의 부재 중 설정 가져 오기
먼저 생성자가 우리를 위해 서비스에 연결할 ExchangeManager
객체를 만듭니다. 또한 지정된 전자 메일 주소에 대한 OofSettings
개체를 반환하는 GetOofSettings
메서드가 있습니다.
using System;
using System.Web.Configuration;
using Microsoft.Exchange.WebServices.Data;
namespace SetOutOfOffice
{
class ExchangeManager
{
private ExchangeService Service;
public ExchangeManager()
{
var password = WebConfigurationManager.ConnectionStrings["Password"].ConnectionString;
Connect("exchangeadmin", password);
}
private void Connect(string username, string password)
{
var service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.Credentials = new WebCredentials(username, password);
service.AutodiscoverUrl("[email protected]" , RedirectionUrlValidationCallback);
Service = service;
}
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
return redirectionUrl.Equals("https://mail.domain.com/autodiscover/autodiscover.xml");
}
public OofSettings GetOofSettings(string email)
{
return Service.GetUserOofSettings(email);
}
}
}
우리는 이제 다음과 같이 이것을 다른 곳에서 호출 할 수 있습니다.
var em = new ExchangeManager();
var oofSettings = em.GetOofSettings("[email protected]");
특정 사용자의 부재 중 설정 업데이트
아래 클래스를 사용하여 Exchange에 연결 한 다음 UpdateUserOof
를 사용하여 특정 사용자의 부재 중 설정을 설정할 수 있습니다.
using System;
using System.Web.Configuration;
using Microsoft.Exchange.WebServices.Data;
class ExchangeManager
{
private ExchangeService Service;
public ExchangeManager()
{
var password = WebConfigurationManager.ConnectionStrings["Password"].ConnectionString;
Connect("exchangeadmin", password);
}
private void Connect(string username, string password)
{
var service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
service.Credentials = new WebCredentials(username, password);
service.AutodiscoverUrl("[email protected]" , RedirectionUrlValidationCallback);
Service = service;
}
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
return redirectionUrl.Equals("https://mail.domain.com/autodiscover/autodiscover.xml");
}
/// <summary>
/// Updates the given user's Oof settings with the given details
/// </summary>
public void UpdateUserOof(int oofstate, DateTime starttime, DateTime endtime, int externalaudience, string internalmsg, string externalmsg, string emailaddress)
{
var newSettings = new OofSettings
{
State = (OofState)oofstate,
Duration = new TimeWindow(starttime, endtime),
ExternalAudience = (OofExternalAudience)externalaudience,
InternalReply = internalmsg,
ExternalReply = externalmsg
};
Service.SetUserOofSettings(emailaddress, newSettings);
}
}
다음을 사용하여 사용자 설정을 업데이트하십시오.
var oofState = 1;
var startDate = new DateTime(01,08,2016);
var endDate = new DateTime(15,08,2016);
var externalAudience = 1;
var internalMessage = "I am not in the office!";
var externalMessage = "I am not in the office <strong>and neither are you!</strong>"
var theUser = "[email protected]";
var em = new ExchangeManager();
em.UpdateUserOof(oofstate, startDate, endDate, externalAudience, internalMessage, externalMessage, theUser);
표준 html
태그를 사용하여 메시지 html
을 지정할 수 있습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow