Windows 2003 R2를 사용하여 명령 줄에서 이메일을 보내는 가장 쉬운 방법


11

Windows 2003 R2 서버가 있고 명령 줄에서 이메일을 보내려고합니다. 이 서버에는 SMTP 서비스가 구성되어 있지 않습니다. 이메일을 보낼 수있는 라이너가 있습니까? 현재 구체적인 사용 사례는 성능 경고가 트리거 될 때 이메일을 보내는 것이지만 일반적으로 유용합니다.

나는 무언가를 바라고있다

foomail -t peter@example.org -f blah@example.org -m "Alert!  the sky is falling"

업데이트 : 타사 소프트웨어 설치와 관련이없는 솔루션을 선호합니다.


blat 및 sendemail과 같은 유틸리티는 설치하지 않아도됩니다. 둘 다 독립 실행 형 exe 파일입니다.
John Gardeniers

나는 적어도 각 컴퓨터에 exe (blat 또는 powershell)를 복사해야한다는 것을 받아 들여야한다고 생각합니다. 이 경우 blat는 사용하기 매우 쉽습니다. 감사. MS가 표준 배포판에 넣은 다른 유용한 기능이 얼마나 많은지를 고려하여 MS가 왜이 기능을 종료했는지 궁금합니다.
Peter

답변:


15

나는 blat 시도 합니다 . vbscript를 작성할 수 있지만 메일을 보낼 수있는 내장 실행 파일이 없습니다.


두 번째 번트. 명령 줄에서 직접 매개 변수를 전달하는 것은 다소 까다로울 수 있지만 일단 수정하면 OP가 필요한 것을 정확하게 수행합니다.
Chris Thorpe

나는 몇 년 동안 큰 성공을 거두었습니다. 그러나 powershell로 쓰고 있다면 전환 할 것입니다.
uSlackr

Blat가 Windows에서 PHP의 메일 발송 경로로 작동합니까?
SaidbakR

14

cmd.exe가 아닌 powershell을 고려 하시겠습니까? 그렇다면 메일 발송이 내장되어 있습니다.

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

$From = "Me <User@example.com>"
$To = User2@example.com
$Title = "Subject"
$Body = "Body Text" 
$SmtpClient.Send($From,$To,$Title,$Body)  

하나의 라이너를 만들려면 다음을 powershell 스크립트 파일 (sendmail.ps1)에 저장하십시오.

   param(  
        [string] $From = "from@example.com",
        [string] $To = "to@example.com",
        [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)

(SMTP 서버를 실제 서버로 변경하십시오)

그런 다음 다음을 사용하여 호출 할 수 있습니다.

powershell.exe c:\path\to\sendmail.ps1 "from@example.com" "to@example.com" "title" "body"

1
powershell도 설치해야합니다. 그렇지 않으면 vbscript보다 선호합니다.
Jim B

좋은 대답입니다. 사소한 변경 사항 하나만 있으면 인수는 작은 따옴표 여야합니다.
Brain2000

6

나는 과거에 bmail 을 큰 성공으로 사용했습니다.

사용법 (웹 사이트에서 복사)

C:\>bmail /?

    Command Line SMTP Emailer V1.07
    Copyright(C) 2002-2004 Craig.Peacock@beyondlogic.org
    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)

1
짐의 대답은
Peter



0
sendEmail -f %from_address% -t %to_address% -u "Subject Line" -m "Message" -s %smtp_server%

프로덕션 환경에서 찾아서 사용하는 가장 간단한 Win 유틸리티입니다. 설치 또는 필수 구성이없는 독립형 실행 파일. 비 TLS 및 TLS를 모두 지원합니다. 그리고 때로는 도움이되는 디버거가 있습니다.

http://caspian.dotconf.net/menu/Software/SendEmail/#download

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.