Function Send-EWSMailMessage { [CmdletBinding()] param( [Parameter(Position=0, ValueFromPipelineByPropertyName=$true, Mandatory=$true)] [Object] $PrimarySmtpAddress, [Parameter(Position=1, Mandatory=$true)] [System.String] $Subject, [Parameter(Position=2, Mandatory=$true)] [System.String] $Body ) begin { Add-Type -Path "C:\bin\Microsoft.Exchange.WebServices.dll" $sid = [System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value $user = [ADSI]"LDAP://" } process { $service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService $service.AutodiscoverUrl($user.Properties.mail) if($PrimarySmtpAddress.GetType().fullname -eq "Microsoft.Exchange.Data.SmtpAddress") { $Recipient = $PrimarySmtpAddress.ToString() } else { $Recipient = $PrimarySmtpAddress } $mail = New-Object Microsoft.Exchange.WebServices.Data.EmailMessage($service) $mail.Subject = $Subject $mail.Body = $Body [Void] $mail.ToRecipients.Add($Recipient) $mail.SendAndSaveCopy() } }