Powershell: Enviando e-mails com Send-MailMessage - CooperaTI
Powershell: Enviando e-mails com Send-MailMessage
Ismael Casagrande 12/07/2017 1 comentário Notícias
Noite de sexta-feira. Como a maioria das pessoas você gostaria de estar casa, curtindo a família e/ou os amigos, porém você está preso no trabalho. Você esqueceu de conferir se o script da manutenção programada executou corretamente.
Não seria ótimo se você pudesse configurar seus scripts e configurá-los para enviar os resultados diretamente para o seu e-mail? Assim você poderia aproveitar o seu final de semana sossegado, com a certeza que os seus scripts estão executando corretamente.
Neste artigo vou mostrar um cmdlet que vai lhe ajudar muito nesta tarefa, ele é o Send-MailMessage
Enviando e-mails através do Send-MailMessage
Existem diversas formas de enviar e-mails utilizando o PowerShell. Porém o Send-MailMessage torna este processo muito mais fácil.
Com um simples comando é possível enviar um e-mail utilizando controles de segurança e notificação de entrega.
Como utilizar o cmdlet Send-MailMessage
Send-MailMessage <parametros>
Segue abaixo a lista de parâmetros possíveis de serem usados:
-Attchments
Caminho completo do arquivo a ser anexado.
O corpo do e-mail.
O corpo do e-mail contendo código HTML.
Endereço de e-mail que você gostaria de incluir em Cc.
Inserir as credenciais da conta de e-mail.
–DeliveryNotificationOption
As notificações serão entregues para o endereço de e-mail que estiver especificado no parâmetro -From.
None – Nenhuma notificação
OnSuccess – Notifica se a entrega foi bem sucedida
OnFailure – Notifica se houve alguma falha na entrega
Delay – Notificação de mensagem em atraso
Never – Nenhuma notificação é enviada
O endereço que sera utilizado para enviar o e-mail.
Definir a prioridade da mensagem. Low, Normal Default, High.
–SmtpServer
O endereço do servidor SMTP que será utilizado para enviar a mensagem.
–Subject
O título do e-mail.
O destinatário do e-mail.
Parâmetro que força a utilização do protocolo SSL para estabelecer a comunicação com o servidor SMTP.
Exemplo 1 – Enviar um simples e-mail
Através da linha de comando abaixo nós estamos enviando um e-mail simples, sem validação de credenciais.
Exemplo 2 – Enviar um e-mail através de uma conta do Gmail
No exemplo abaixo podemos enviar o e-mail através do SMTP do Gmail. Assim que executarmos o script, será solicitado as credenciais de acesso ao Gmail.
Neste script além do título e corpo do e-mail, também estamos enviando um arquivo em anexo, que pode ser alterado conforme a sua necessidade.
$From = "seuemail@gmail.com"
$Anexo = "C:\temp\temp.txt"
$Subject = "Titulo"
$Body = "Insira aqui o corpo do seu e-mail"
Send-MailMessage -From $From -To $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -UseSsl