A vantagem de usar o EWS para enviar e-mail é que não é necessário alterar configurações de relay no servidor Exchange. Por outro lado, a desvantagem é a necessidade de ter instalado o EWS API (ou pelo menos copiar as DLLs)

Requisitos

  • Tenha em mãos uma credencial (usuário e senha) que possua maibox;
  • Baixe e instale o Microsoft Exchange Web Services Managed API (em alguns casos para instalar foi necessário abrir o prompt como administrador e executar o msiexec);
    • O caminho onde foi instalado será necessário;

Script PowerShell

Sugerimos que veja primeiro nosso repositório no GitHub, para verificar as versões mais atualizadas de Script, mas caso não ache o que procura ou prefira apenas o conteúdo desse post, segue abaixo:

Abra o Windows PowerShell ISE e coloque o seguinte conteúdo (altere as partes em cima conforme sua realidade ou necessidade):

$MAIL_FROM = “remetente@suaempresa.com.br
$MAIL_TO = “destinatario@suaempresa.com.br
Import-Module -Name “C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll”
$Credential = Get-Credential
$exchService = New-Object -TypeName
Microsoft.Exchange.WebServices.Data.ExchangeService
$exchService.Credentials = New-Object -TypeName Microsoft.Exchange.WebServices.Data.WebCredentials -ArgumentList $Credential.UserName, $Credential.GetNetworkCredential().Password
$exchService.AutodiscoverUrl($Credential.UserName, {$true})
#Usando credencial atual
#$Service.UseDefaultCredentials = $true
#$exchService.AutodiscoverUrl($MAIL_FROM)
$eMail = New-Object -TypeName Microsoft.Exchange.WebServices.Data.EmailMessage -ArgumentList $exchService
$eMail.Subject = “Teste de E-mail”
$eMail.Body = “E-mail enviado pelo Powershell, com o EWS”
$eMail.From($MAIL_FROM)| Out-Null
$eMail.ToRecipients.Add($MAIL_TO) | Out-Null
#$eMail.Attachments.AddFileAttachment(“C:\Temp\arquivo.txt”)
#$eMail.SendAndSaveCopy()
$eMail.Send()
Write-Host “E-Mail enviado”
Read-Host “Pressione ENTER to continuar…”

Fontes/Referências

https://github.com/luizcarlosbranco/nvlan
https://itfordummies.net/2016/12/20/send-email-exchange-web-services-powershell/

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria