A maneira mais fácil de enviar um e-mail a partir da linha de comando, usando o windows 2003 R2

10

Eu tenho um servidor Windows 2003 R2 e quero enviar um email a partir da linha de comando. Este servidor não possui o serviço SMTP configurado. Existe um forro que me permita enviar um email? Meu caso de uso específico no momento é enviar um email quando um alerta de desempenho é acionado, mas seria útil em geral.

Estou esperando por algo como

foomail -t [email protected] -f [email protected] -m "Alert!  the sky is falling"

Atualização: prefiro muito mais uma solução que não envolva a instalação de software de terceiros.

    
por Peter 05.02.2010 / 19:36

6 respostas

15

Eu tentaria blat . Você pode escrever um vbscript, mas não existe um executável embutido para enviar e-mails

    
por 05.02.2010 / 19:39
13

Você consideraria o powershell em vez do cmd.exe? Em caso afirmativo, o envio de e-mails é incorporado:

$SmtpClient = New-Object System.Net.Mail.SmtpClient
$SmtpServer = "your.mail.host.com"
$SmtpClient.host = $SmtpServer 

$From = "Me <[email protected]>"
$To = [email protected]
$Title = "Subject"
$Body = "Body Text" 
$SmtpClient.Send($From,$To,$Title,$Body)  

Para fazer um forro, salve o seguinte em um arquivo de script PowerShell (sendmail.ps1):

   param(  
        [string] $From = "[email protected]",
        [string] $To = "[email protected]",
        [string] $Title = "title",
        [string] $Body = "body"
    )
    $SmtpClient = New-Object System.Net.Mail.SmtpClient
    $SmtpServer = "your.mail.host.com"
    $SmtpClient.host = $SmtpServer 
    $SmtpClient.Send($From,$To,$Title,$Body)

(lembre-se de mudar o smtpserver para ser o seu verdadeiro)

Depois, você pode chamá-lo usando:

powershell.exe c:\path\to\sendmail.ps1 "[email protected]" "[email protected]" "title" "body"
    
por 05.02.2010 / 21:45
6

Eu usei o bmail com grande sucesso no passado.

Uso (copiado do site)

C:\>bmail /?

    Command Line SMTP Emailer V1.07
    Copyright(C) 2002-2004 [email protected]
    Usage: bmail [options]
            -s    SMTP Server Name
            -p    SMTP Port Number (optional, defaults to 25)
            -t    To: Address
            -f    From: Address
            -b    Text Body of Message (optional)
            -h    Generate Headers
            -a    Subject (optional)
            -m    Filename (optional) Use file as Body of Message
                -c    Prefix above file with CR/LF to separate body from header
                -d    Debug (Show all mail server communications)
    
por 05.02.2010 / 19:38
2

Experimente o Mail Alert Simple Mailer gratuito: link

Ele suporta servidores de e-mail SSL / TLS como o gmail e é fácil de configurar.

    
por 30.03.2016 / 11:30
0

Mais um programa de linha de comando:

Ele também suporta SSL.

    
por 17.07.2016 / 19:20
0
sendEmail -f %from_address% -t %to_address% -u "Subject Line" -m "Message" -s %smpt_server%

O utilitário Win mais simples que encontrei e usei no ambiente de produção. Executor autônomo.

link

    
por 08.03.2018 / 02:19