How to send email and create appointment item using EWS Managed API in

It does seem to be a bit of a dearth of samples for Exchange Web Service Managed API. So here is a sample code which demonstrates:

  • Send Email
  • Create Appointment

NOTE: Following programming examples is for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This sample code assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. This sample code is provided for the purpose of illustration only and is not intended to be used in a production environment. 

Imports System.Net
Imports System.Net.Security
Imports Microsoft.Exchange.WebServices.Data
Imports System.Security.Cryptography.X509Certificates
Public Class Form1
    'Creating Servie object for EWS service binding endpoint
    Dim service As New ExchangeService(requestedServerVersion:=ExchangeVersion.Exchange2007_SP1)
    Private Sub cmdSendMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSendMail.Click
            'Create new message object and set properties required to send a mail
            Dim message As EmailMessage = New EmailMessage(service)
            message.Subject = "Hello from the EWS Managed API"
            message.Body = "Now that's easy!"
            MessageBox.Show("Email Sent!!!")
        Catch ex As Exception
        End Try
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Add a valid EWS service end point here or user Autodiscover
        service.Url = New Uri("https://server/ews/exchange.asmx")
        'Add a valid user credentials
        service.Credentials = New WebCredentials("User", "Password", "Domain")
        'To address the SSL challenge
        ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf ValidateCertificate)
    End Sub
    Private Function ValidateCertificate(ByVal sender As Object, ByVal certificate As X509Certificate, ByVal 
chain As X509Chain, ByVal sslPolicyErrors As SslPolicyErrors) As Boolean
        'Return True to force the certificate to be accepted.
        Return True
    End Function
    Private Sub cmdCreateAppointment_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 
Handles cmdCreateAppointment.Click
            'Create appointment object and set properties as required
            Dim appt As Appointment = New Appointment(service)
            appt.Subject = "Holidays"
            appt.Body = "The appointment is for holiday placeholder"
            appt.Start = New DateTime(2010, 11, 1)
            appt.End = appt.Start.AddHours(24)
            appt.IsAllDayEvent = True
            appt.LegacyFreeBusyStatus = LegacyFreeBusyStatus.OOF
            appt.Save(WellKnownFolderName.Calendar, SendInvitationsMode.SendToNone)
            MessageBox.Show("Appointment Added to Calendar")
        Catch ex As Exception
        End Try
    End Sub
End Class

We can refer to the articles mentioned below for further reading:

Enjoy EWS and Happy Holidays!!!

Comments (0)

Skip to main content