Powershell: Enviando e-mails com Send-MailMessage

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.

-Body


O corpo do e-mail.


-BodyAsHtml


O corpo do e-mail contendo código HTML.


-Cc


Endereço de e-mail que você gostaria de incluir em Cc.


-Credential


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

–From


O endereço que sera utilizado para enviar o e-mail.

–Priority


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.

–To


O destinatário do e-mail.

–UseSsl


Parâmetro que força a utilização do protocolo SSL para estabelecer a comunicação com o servidor SMTP.

Exemplos de uso

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.



$Anexo = "C:\temp\temp.txt"


$Subject = "Titulo"


$Body = "Insira aqui o corpo do seu e-mail"


$SMTPServer = "smtp.gmail.com"


$SMTPPort = "587"

Send-MailMessage -From $From -To $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -UseSsl


-Credential (Get-Credential) -Attachments $Attachment


Sem você tem dúvidas ou sugestões, deixe o seu comentário

Que a força esteja com você!!!

Share

    Comments

    1. Como fazer para deixar as credencias salvas e criptografadas num arquivo txt?

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.