如何编写Windows批处理脚本发送邮件?请给出一个示例。
您可以启用已安装的 Windows SMTP 服务器。 然后运行一个 PowerShell 脚本:
$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()
}
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将无法正常工作,因此您需要找到可以使用的服务器。也许在没有用户名和密码的服务器上设置一个,只能从本地主机访问?