批处理脚本发送电子邮件

时间:2011-01-19 07:50:52

标签: email batch-file windows-server-2008

如何编写Windows批处理脚本来发送邮件?举个例子

3 个答案:

答案 0 :(得分:5)

您需要使用第三方工具,例如blat(http://www.blat.net/)。然后在批处理文件中,您将拥有如下所示的行:

blat -to foo@bar.com -f bar@foo.com -subject“Email Subject”-body“Email body”-server mysmtphost

答案 1 :(得分:1)

您可以启用已安装的Windows SMTP服务器。 然后运行一个power shell脚本:

$subject = $args[0]

# Create from/to addresses
$from = New-Object system.net.mail.MailAddress "remy@supertext.ch"
$to = New-Object system.net.mail.MailAddress "remy.blaettler@gmail.com"

# Create Message
$message = new-object system.net.mail.MailMessage $from, $to
$message.Subject = $subject
$message.Body = @"
Warning message from the Supertext Server
"@

# Set SMTP Server and create SMTP Client
$server = "209.162.190.6"
$client = new-object system.net.mail.smtpclient $server

# SO do it
"Sending an e-mail message to {0} by using SMTP host {1} port {2}." -f $to.ToString(), $client.Host, $client.Port
try {
$client.Send($message)
}
catch {
"Exception caught in CreateTestMessage: {0}" -f $Error.ToString()
}

答案 2 :(得分:0)

我建议下载并安装命令行电子邮件程序。我能看到的最好的免费软件是:

http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm

从那里,将下载的.exe保存到硬盘上的一个好位置(可能在c:/ program files / bmail中),并将该目录添加到PATH(有关说明,请参阅http://www.brightrev.com/how-to/windows/35-add-a-utilities-directory-to-your-pc.html?start=1)。

从那时起,您可以设置一个小批量脚本,例如:

@echo off
bmail -s smtp.example.com -p 465 -t toemail@example.com -f fromemail@example.com -h -a "INSERT SUBJECT HERE" -b "INSERT MESSAGE TEXT HERE"

然后发送电子邮件到该电子邮件地址,只需运行批处理文件。

如果需要,您可以将其更改为接受参数,以便自定义消息:http://www.robvanderwoude.com/parameters.php

重要提示:如果SMTP服务器需要身份验证,我很确定bmail无法运行,因此您需要找到一个可以使用的服务器。也许在没有用户名和密码的情况下在服务器上设置一个,并且只能从localhost访问?