Sabia que pode usar o Office 365 para enviar e-mails com o PowerShell? Neste artigo, você aprenderá como enviar e-mails com o Office 365 Direct Send e o cmdlet Send-MailMessage
do PowerShell.
Se deseja uma análise detalhada sobre o envio de e-mails com o PowerShell, confira este tutorial detalhado sobre Send-MailMessage.
Office 365 Direct Send vs. Envio de Cliente SMTP
Antes de avançarmos muito no PowerShell, saiba que não há apenas uma maneira de enviar e-mails por meio do Office 365 usando o PowerShell. O Office 365 tem duas maneiras suportadas de enviar e-mails. Essas opções são Envio Direto e Envio de Cliente SMTP ou Envio Autenticado SMTP.
Envio Autenticado SMTP
O Envio Autenticado SMTP é o mais fácil de configurar. Você escolheria esta opção se planeja enviar e-mails de um dispositivo ou aplicativo para destinatários dentro e fora da sua organização. Não há ação extra a ser feita no Office 365 para permitir isso.
Esta opção permite que você use qualquer endereço de remetente. Mas o endereço deve ser de um dos seus domínios aceitos e verificados.
Para usar Envio Autenticado SMTP, você deve:
- Ter uma caixa de correio de usuário do Office 365 (licenciada). Este endereço de e-mail aparecerá como o remetente da mensagem.
- O PowerShell (ou outro cliente) deve ser capaz de resolver e alcançar smtp.office365.com.
- A porta TCP 587 ou 25 deve estar aberta para o Office 365 a partir do cliente.
Envio Direto
Aumentando um pouco a complexidade está a opção de Envio Direto. Como Submissão Autenticada SMTP, Envio Direto permite que você use qualquer endereço de remetente. Além disso, o endereço de remetente deve ser de um dos seus domínios aceitos verificados.
A grande diferença entre Envio Direto e Submissão Autenticada SMTP é que não são permitidos destinatários externos. Se você precisar enviar para destinatários de e-mail fora da sua organização, o Envio Direto não funcionará para você.
O Envio Direto tem alguns requisitos/recomendações próprios:
- Este endereço de remetente não precisa ser uma caixa de correio válida. Mas é necessário se você planeja receber NDRs ou respostas usando este endereço.
- A porta TCP 25 está aberta do seu cliente para o Office 365.
- O dispositivo deve ser capaz de resolver e alcançar o URL do seu endpoint MX (por exemplo, seu-domínio-com.mail.protection.outlook.com)
- A static public IP address. This is to update your SPF record and avoid your messages getting flagged as spam (optional but recommended)
Se você não souber como encontrar o URL do seu endpoint MX, aqui está um tutorial rápido:
- Faça login no Portal de Administração do Office 365.
- Clique em Configuração (1), selecione Domínios (2), clique no Nome do domínio (3), copie o Endereço ou valor apontados pelo MX (4).

Submissão Autenticada SMTP
O primeiro método para enviar e-mail é via Submissão de Cliente SMTP ou Submissão Autenticada SMTP. Usando o cmdlet Send-MailMessage
do PowerShell, podemos fornecer todos os parâmetros necessários para enviar e-mail pelo Office 365.
Abaixo está um trecho que você pode usar para enviar e-mails por este método.
Primeiro, você precisará definir um objeto PowerShell PScredential e fornecer todos os parâmetros necessários para Send-MailMessage
.
Ao executar o código acima, você deverá receber um e-mail enviado para o destinatário interno (seudominio.com) e para o domínio externo (nãoseudominio.com).


Envio Direto (TLS Necessário)
Semelhante à Submissão Autenticada via SMTP, você pode usar praticamente os mesmos parâmetros para Send-MailMessage
. No entanto, desta vez, os destinatários do To
serão apenas internos.
Observe também que não foi necessário um PSCredential.

Resumo
Você pode ver que o Office 365 oferece duas opções diferentes para enviar e-mails. Neste artigo, usamos o PowerShell como exemplo para demonstrar ambas as opções. Mas você não precisa usar o PowerShell. Contanto que sua aplicação ou linguagem de programação suporte autenticação TLS, você pode usar qualquer método que preferir.
Leitura Adicional
Source:
https://adamtheautomator.com/office-365-direct-send/