Enviar um E-mail Simples com PowerShell



1️⃣ Enviar um E-mail Simples com PowerShell

Podemos usar o cmdlet Send-MailMessage, que permite enviar e-mails via SMTP.

Exemplo: Envio básico de e-mail


$EmailDe = "seuemail@gmail.com"
$EmailPara = "destinatario@email.com" $Assunto = "Relatório Diário" $Corpo = "Este é um e-mail automático enviado via PowerShell." $SMTP = "smtp.gmail.com" # Servidor SMTP do Gmail $Credenciais = Get-Credential # Solicita login e senha do e-mail Send-MailMessage -From $EmailDe -To $EmailPara -Subject $Assunto -Body $Corpo -SmtpServer $SMTP -UseSsl -Credential $Credenciais -Port 587

Explicação:

  • -From: E-mail do remetente.
  • -To: Destinatário do e-mail.
  • -Subject: Assunto do e-mail.
  • -Body: Texto do e-mail.
  • -SmtpServer: Servidor SMTP do provedor de e-mail.
  • -UseSsl: Necessário para servidores como Gmail.
  • -Credential: Login e senha (usa Get-Credential para segurança).
  • -Port 587: Porta padrão para SMTP com autenticação.

🔹 Observação: Para contas do Gmail, pode ser necessário permitir "Acesso a aplicativos menos seguros" ou usar uma senha de aplicativo.


2️⃣ Enviar um E-mail com Anexo

Se precisar enviar um arquivo junto ao e-mail, basta adicionar o parâmetro -Attachments.

Exemplo: Enviando um relatório em anexo



$EmailDe = "seuemail@gmail.com" $EmailPara = "destinatario@email.com" $Assunto = "Relatório Atualizado" $Corpo = "Segue em anexo o relatório atualizado." $Anexo = "C:\Relatorios\relatorio.pdf" $SMTP = "smtp.gmail.com" $Credenciais = Get-Credential Send-MailMessage -From $EmailDe -To $EmailPara -Subject $Assunto -Body $Corpo -Attachments $Anexo -SmtpServer $SMTP -UseSsl -Credential $Credenciais -Port 587

📎 Dica: Você pode anexar vários arquivos separando-os por vírgula:



-Attachments "C:\arquivo1.txt", "C:\arquivo2.xlsx"

3️⃣ Automatizar o Envio com Agendador de Tarefas

Para rodar automaticamente, salve o script como EnviarEmail.ps1 e configure o Agendador de Tarefas do Windows para executá-lo em horários específicos.

🔹 Como configurar:

  1. Abrir o Agendador de Tarefas (Task Scheduler).
  2. Criar uma Nova Tarefa.
  3. Definir a frequência em "Gatilhos" (exemplo: diário às 08h00).
  4. Em "Ações", adicionar:
    • Programa: powershell.exe
    • Argumentos: -ExecutionPolicy Bypass -File "C:\Scripts\EnviarEmail.ps1"

Pronto! Seu e-mail será enviado automaticamente no horário configurado.

Postar um comentário

0 Comentários