从Windows脚本发送邮件

我想从Windows Server 2003标准版上的脚本发送邮件。 我认为服务器设置几乎是开箱即用的。

邮件服务器是一个Exchange的,当你在内部networking上,你可以使用普通的旧SMTP。 我已经从我的机器上用Perl完成了,但不幸的是,Perl在服务器上不可用。

有没有一个简单的方法来做这个.bat文件或任何其他方式,不需要安装一些额外的软件?

Edit:
感谢您的快速回复。 “blat”thingie可能会正常工作,但与wscript我不必使用一个单独的二进制文件。

我第一次编辑和select答案时没有看到PhiLho的post。 没有必要在这里复制代码。

只需将脚本保存到一个文件,例如sendmail.vbs,然后像命令提示符那样调用它:
wscript sendmail.vbs

Solutions Collecting From Web of "从Windows脚本发送邮件"

Wscript使用CDO是可能的:

 Dim objMail Set objMail = CreateObject("CDO.Message") objMail.From = "Me <Me@server.com>" objMail.To = "You <You@Anotherserver.com>" objMail.Subject = "That's a mail" objMail.Textbody = "Hello World" objMail.AddAttachment "C:\someFile.ext" ---8<----- You don't need this part if you have an active Outlook [Express] account ----- ' Use an SMTP server objMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' Name or IP of Remote SMTP server objMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _ "smtp.server.com" ' server port (typically 25) objMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objMail.Configuration.Fields.Update ----- End of SMTP usage ----->8--- objMail.Send Set objMail=Nothing Wscript.Quit 

更新:在那里找到更多的信息: VBScript发送电子邮件使用CDO默认情况下,它似乎使用Outlook [Express],所以它没有在我的电脑上工作,但你可以使用给定的SMTP服务器,这对我工作得很好。

我不知道是否将一个二进制文件放在.bat文件旁边会成为安装软件,但是,如果没有,您可以使用blat来执行此操作。

如果服务器发生(我意识到这个问题有多大),安装Powershell v2,CmdLet Send-MailMessage将在一行中完成。

 Send-MailMessage [-To] <string[]> [-Subject] <string> -From <string> [[-Body] <string>] [[-Smtpserver] <string>] [-Attachments <string[]>] [-Bcc <string[]>] [-BodyAsHtml] [-Cc <string[]>] [-Credential <PSCredential>] [-DeliveryNotficationOption {None | OnSuccess | OnFailure | Delay | Never}] [-Encoding <Encoding>] [-Priority {Normal | Low | High}] [-UseSsl] [<CommonParameters>] 

如果你已经安装了outlook / exchange,你应该可以使用CDONT,只需创建一个mail.vbs文件,并像批处理文件那样调用它(有趣的是它们在同一个目录中)

 wscript mail.vbs 

为VBScript代码签出

http://support.microsoft.com/kb/197920

http://www.w3schools.com/asp/asp_send_email.asp

忘记了这两个链接所说的关于ASP的事实,它应该作为一个独立的脚本与iis一起工作。

我认为你将不得不安装一些可以从WScript调用的ActiveX或其他组件,例如: http ://www.activexperts.com/ActivEmail/和: http : //www.emailarchitect.net/webapp/ SMTPCOM /开发商/ scripting.asp

否则,你将不得不用WScript编写整个SMTP逻辑(如果可能的话,不确定)。

与Windows脚本主机一起使用CDONTS(WScript)

有没有一种方法可以在不引用外部模式URL的情况下发送。 http://schemas.microsoft.com/cdo/configuration/

这是非常无用的,因为它不能被认为是所有的盒子将有外部互联网接入在本地交换机内部发送邮件。 有没有办法从本地保存这些信息的信息?