Update Specific Users Out of Oce Settings C# with Example



Update Specific Users Out of Oce Settings C# with Example

Using the class below, we can connect to Exchange and then set a specific user's out of office settings with 
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("autodiscoveremail@domain.com" , RedirectionUrlValidationCallback); 
Service = service; 
} 
private static bool RedirectionUrlValidationCallback(string redirectionUrl) 
{ 
return redirectionUrl.Equals("https://mail.domain.com/autodiscover/autodiscover.xml"); 
} 
/// 
/// Updates the given user's Oof settings with the given details 
///  
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); 
} 
} 
Update the user settings with the following: 
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 and neither are you!" 
var theUser = "theuser@domain.com"; 
var em = new ExchangeManager(); 
em.UpdateUserOof(oofstate, startDate, endDate, externalAudience, internalMessage, externalMessage, 
theUser); 
Note that you can format the messages using standard html tags. 

0 Comment's

Comment Form

Submit Comment