批处理脚本发送电子邮件

6
如何编写Windows批处理脚本发送邮件?请给出一个示例。
3个回答

5
您需要使用第三方工具,例如blat(http://www.blat.net/)。然后在您的批处理文件中,您将有如下一行代码:
blat -to foo@bar.com -f bar@foo.com -subject "邮件主题" -body "邮件正文" -server mysmtphost

1

您可以启用已安装的 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()
}

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将无法正常工作,因此您需要找到可以使用的服务器。也许在没有用户名和密码的服务器上设置一个,只能从本地主机访问?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接