Hi team,
I want to know that, How do i append contacts or calendars from one mailbox to another mailbox in Exchange web server
I have observed your requirements. I have shared sample code with you. This will help you to achieve your requirements. Also please visit this thread link for more details.
IEWSClient client = EWSClient.GetEWSClient
("https://exchange.domain.com/ews/Exchange.asmx",
“user”, “password”, “”);
try
{
MapiMessage appointment = MapiMessage.FromFile(@“Appointment.msg”);
var emlFile = appointment.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Calendar”,emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage contact = MapiMessage.FromFile(@“Contact.msg”);
var emlFile = contact.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Contacts”,emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage JournalEntry = MapiMessage.FromFile(@“JournalEntry.msg”);
var emlFile = JournalEntry.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Journal”,emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage mailMessage = MapiMessage.FromFile(@“MailMessage.msg”);
var emlFile = mailMessage.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Inbox”,emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage meeting = MapiMessage.FromFile(@“Meeting.msg”);
var emlFile = meeting.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Calendar”, emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage task = MapiMessage.FromFile(@“Task.msg”);
var emlFile = task.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Tasks”, emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage taskRequest = MapiMessage.FromFile(@“TaskRequest.msg”);
var emlFile = taskRequest.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Tasks”, emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
try
{
MapiMessage note = MapiMessage.FromFile(@“TestNote.msg”);
var emlFile = note.ToMailMessage(new MailConversionOptions() { ConvertAsTnef = true });
client.AppendMessage(“Notes”, emlFile);}
catch (Exception ex)
{Console.Write(ex.Message);
}
I have already tested above code, This code adding calendar or contact as a MailMessage type,
is there another method to add calendar from ics and contact from vcf.
I have observed your requirements and suggest you to please consider following sample codes for loading Calendars from ICS and contact from VCF files to MapiMessage. The rest of code may be same as shared before with you.
Appointment appointment = Appointment.Load(p_AppointmentObj.ICSPath);
MailMessage mailMsg = new MailMessage();
mailMsg.AddAlternateView(appointment.RequestApointment());
MapiMessage mapiMsg = MapiMessage.FromMailMessage(mailMsg);
//Load VCF Contact and convert to MailMessage for rendering to MHTML
MapiContact contact = MapiContact.FromVCard(dataDir + "Contact.vcf");
MemoryStream ms = new MemoryStream();
contact.Save(ms, ContactSaveFormat.Msg);
ms.Position = 0;
MapiMessage msg = MapiMessage.FromStream(ms);
I hope the shared information will be helpful.