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.