Senden Sie E-Mails von einem Windows-Skript
Frage
Ich möchte E-Mails von einem Skript auf einem Windows Server 2003 Standard Edition senden. Ich denke, der Server-Setup aus der Box ist ziemlich viel.
Der Mail-Server ist ein Exchange ein, und wenn Sie auf dem internen Netzwerk sind, können Sie nur alte SMTP verwenden. Ich habe es von meiner Maschine mit Perl getan, aber leider Perl ist auf dem Server nicht verfügbar ist.
Gibt es eine einfache Möglichkeit, diese von einer .bat-Datei zu tun, oder jede andere Art und Weise, die nicht einige zusätzliche Installation von Software erforderlich ist?
Edit:
Vielen Dank für die schnellen Antworten. Die „blat“ thingie würde wahrscheinlich gut funktionieren, aber mit wscript Ich muss keine separate binäre verwenden.
Ich habe nicht PhiLho die Post das erste Mal, dass ich bearbeiten und eine Antwort ausgewählt. Keine Notwendigkeit für mich hier den Code zu duplizieren.
Speichern Sie einfach das Skript in eine Datei, sagen SENDMAIL.VBS, und dann rufen Sie an der Eingabeaufforderung wie folgt:
wscript sendmail.vbs
Lösung
Es ist möglich, mit Wscript, mit 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
Update: weitere Informationen dort zu finden: VBScript To Send E-Mail, die CDO Standardmäßig scheint es, es verwendet Outlook [Express], so hat es nicht auf meinem Computer gearbeitet, aber Sie können einen bestimmten SMTP-Server verwenden, die gut für mich gearbeitet.
Andere Tipps
Ich weiß nicht, ob ein binäre neben der .bat Datei zählt fallen wie die Installation von Software, aber wenn nicht, können Sie eine href verwenden <= „http://www.blat.net/“ rel = "noreferrer „> blat dies zu tun.
Wenn der Server geschehen (Ich weiß, wie alt diese Frage ist) installiert sein Powershell v2, die CmdLet Send-Mailmessage würde dies in einer Zeile.
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>]
Wenn Sie Outlook / Exchange installiert Sie sollten in der Lage sein CDONTS zu verwenden, um nur mail.vbs-Datei erstellen und es in einer Batch-Datei aufrufen, wie so (amüsant sie im selben Verzeichnis sind)
wscript mail.vbs
für den VBScript-Code überprüfen
http://support.microsoft.com/kb/197920
http://www.w3schools.com/asp/asp_send_email.asp
vergessen die Tatsache, dass sie die beiden Links zu ASP sprechen, sollte es als Stand-alone-Skript mit aus iis gut funktionieren.
Ich denke, dass Sie einige ActiveX oder andere Komponente installieren müssen werden, was von WScript geltend gemacht werden könnte, wie zum Beispiel: http://www.activexperts.com/ActivEmail/ und: http://www.emailarchitect.net/webapp/SMTPCOM/developers/scripting. asp
Andernfalls müssen Sie die gesamte SMTP-Logik schreiben müssen (wenn möglich, nicht sicher) in WScript auf eigene Faust.
Verwenden Sie CDONTS mit Windows Scripting Host (WScript)
Gibt es eine Möglichkeit Sie ohne Bezugnahme auf die außerhalb Schema Urls senden. http://schemas.microsoft.com/cdo/configuration/
Das ist sehr nutzlos, da es nicht alle Boxen haben Zugang außerhalb Internet angenommen werden kann mail intern auf der lokalen Vermittlungsstelle zu senden. Gibt es eine Möglichkeit, die Informationen aus dieser Urls lokal zu speichern?