Cara termudah untuk mengirim Email dari baris perintah, menggunakan windows 2003 R2


11

Saya memiliki server Windows 2003 R2 dan saya ingin mengirim email dari baris perintah. Server ini tidak mengonfigurasi layanan SMTP. Apakah ada satu liner yang memungkinkan saya mengirim email? Kasus penggunaan khusus saya saat ini adalah untuk mengirim email ketika peringatan kinerja dipicu, tetapi itu akan berguna secara umum.

Saya berharap untuk sesuatu seperti

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

Pembaruan: Saya lebih suka solusi yang tidak melibatkan menginstal perangkat lunak pihak ke-3.


Utilitas seperti blat dan sendemail tidak memerlukan instalasi. Keduanya file exe yang berdiri sendiri.
John Gardeniers

Saya kira saya harus menerima bahwa saya harus paling tidak menyalin exe (baik blat atau PowerShell) ke setiap mesin. Jika itu masalahnya, maka blat sangat mudah digunakan. Terima kasih. Saya masih bertanya-tanya mengapa MS meninggalkan fitur ini, mengingat berapa banyak yang kurang berguna yang mereka masukkan ke distro standar.
Peter

Jawaban:


15

Saya akan mencoba blat . Anda bisa menulis vbscript tetapi tidak ada executable bawaan untuk mengirim email


seconding blat. Ini bisa menjadi sedikit pemilih tentang melewati parameter langsung dari baris perintah, tetapi begitu Anda memakukannya, melakukan persis apa yang dibutuhkan OP.
Chris Thorpe

Saya telah menggunakan blat selama bertahun-tahun dengan kesuksesan besar. Namun, jika saya menulis dengan PowerShell, saya akan beralih.
uSlackr

Apakah blat dapat berfungsi sebagai jalur pengiriman surat untuk PHP di Windows?
SaidbakR

14

Apakah Anda mempertimbangkan powershell daripada cmd.exe? Jika demikian, pengiriman surat ada di dalam:

$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)  

Untuk membuat satu liner, simpan yang berikut ini ke file skrip 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)

(pastikan untuk mengubah smtpserver menjadi yang asli)

Kemudian Anda dapat menyebutnya menggunakan:

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

1
PowerShell juga harus diinstal, jika tidak saya akan lebih suka daripada vbscript.
Jim B

Jawaban bagus. Hanya satu perubahan kecil, argumen harus berupa tanda kutip tunggal.
Brain2000

6

Saya telah menggunakan bmail dengan sukses besar di masa lalu.

Penggunaan (disalin dari situs web)

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
Saya harus mengakui, saya berharap untuk solusi bawaan, meskipun jawaban Jim sepertinya menyiratkan bahwa itu agak naif dari saya ...
Peter



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

Utilitas Win paling sederhana yang saya temukan dan gunakan di lingkungan produksi. Dapat dijalankan sendiri, tanpa instalasi atau konfigurasi yang diamanatkan. Mendukung non-TLS dan TLS. Dan memiliki debugger, yang terkadang bermanfaat.

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.