11

Windows Server 2003 Standard Edition でスクリプトからメールを送信したいと考えています。サーバーのセットアップはほとんどそのままだと思います。

メール サーバーは Exchange のサーバーで、内部ネットワークにいるときはプレーンな古い SMTP を使用できます。自分のマシンから Perl で実行しましたが、残念ながらサーバーで Perl を使用できません。

.bat ファイルまたは追加のソフトウェアのインストールを必要としない他の方法からこれを行う簡単な方法はありますか?

Edit:
素早い返信ありがとうございます。「ブラット」のものはおそらく問題なく動作しますが、wscript を使用すると、別のバイナリを使用する必要はありません。

初めて回答を編集して選択したときに、PhiLho の投稿が表示されませんでした。ここでコードを複製する必要はありません。

スクリプトを sendmail.vbs などのファイルに保存し、コマンド プロンプトから次のように呼び出します。
wscript sendmail.vbs

4

7 に答える 7

11

CDO を使用して、Wscript で可能です。

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

更新: そこに詳細情報が見つかりました: CDO を使用し て電子メールを送信するための VBScript

于 2008-09-30T09:45:17.310 に答える
6

サーバーにPowershell v2がインストールされていた場合(この質問がどれほど古いかはわかります)、CmdLet Send-MailMessageはこれを1行で行います。

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>]
于 2012-11-26T21:59:19.440 に答える
6

.bat ファイルと一緒にバイナリをドロップすることがソフトウェアのインストールと見なされるかどうかはわかりませんが、そうでない場合は、blatを使用してこれを行うことができます。

于 2008-09-30T09:32:08.357 に答える
1

Outlook/exchange がインストールされている場合は、CDONT を使用できるはずです。mail.vbs ファイルを作成して、バッチ ファイルで呼び出すだけです (それらが同じディレクトリにあるのはおかしいです)。

wscript mail.vbs

VBScript コードについては、チェックアウトしてください

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

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

2 つのリンクが ASP について述べているという事実を忘れてください。IIS を使用しないスタンドアロン スクリプトとして正常に動作するはずです。

于 2008-09-30T09:37:09.857 に答える
0

Windows Scripting Host (WScript) で CDONTS を使用する

于 2008-09-30T09:44:17.607 に答える
0

外部スキーマの URL を参照せずに送信する方法はありますか。 http://schemas.microsoft.com/cdo/configuration/

すべてのボックスがローカル交換機で内部的にメールを送信するための外部インターネット アクセスを持っているとは想定できないため、これは非常に役に立ちません。これらの URL からの情報をローカルに保存する方法はありますか?

于 2011-03-09T18:42:14.423 に答える
0

http://www.activexperts.com/ActivEmail/http://www.emailarchitect.net/webapp/など、WScript から呼び出すことができる ActiveX またはその他のコンポーネントをインストールする必要があると思います 。 SMTPCOM/developers/scripting.asp

それ以外の場合は、SMTP ロジック全体 (可能であれば、確かではありません) を WScript ですべて自分で作成する必要があります。

于 2008-09-30T09:20:49.163 に答える