Visual Basic スクリプトを使用して送信 SMTP メッセージに免責事項を追加する方法

Microsoft Visual Basic については次の資料を参照してください。317327

概要

この資料では、SMTP トランスポート イベント シンクを使用して、送信する SMTP 電子メール メッセージに免責事項を追加する方法を、手順を追って説明します。

イベント シンクの作成

イベント シンクを作成するには、新しいファイルに次のコードを貼り付け、EventSinkScript.vbs という名前を付けて保存します。
<SCRIPT LANGUAGE="VBScript">
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer added in a VBScript."
HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer added in a VBScript."

If Msg.HTMLBody <> "" Then
'Search for the "</body>" tag and insert our disclaimer before that tag.
pos = InStr(1, Msg.HTMLBody, "</body>", vbTextCompare)
szPartI = Left(Msg.HTMLBody, pos - 1)
szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
End If

If Msg.TextBody <> "" Then
Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
End If

'Commit the content changes to the transport ADO Stream object.
Msg.DataSource.Save ' Commit the changes into the transport Stream

EventStatus = cdoRunNextSink
End Sub
</SCRIPT>

イベント シンクの登録

イベント シンクを登録するには、Exchange SDK と共にインストールされる Smtpreg.vbs ファイルを使用します。コマンド プロンプトから、...\Exchange SDK\SDK\Support\CDO\Scripts フォルダに移動して、次のように入力します (EventSinkScript.vbs のパスが正しいことを確認します)。
cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost CDO.SS_SMTPOnArrivalSink "mail from=*@your-domain-here.com"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
コマンドが正常に実行されると、スクリプトで生成された成功のメッセージが表示されます。


このイベントの登録を解除するには、次のように入力します。
cscript smtpreg.vbs /remove 1 OnArrival SMTPScriptingHost
Smtpreg.vbs を使用したイベントの登録に関する詳細については、次の MSDN Web サイトにあるトピック「Managing Event Bindings」を参照してください。
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

324021 [HOWTO] Exchange 2000 で "Catchall" イベント シンクを作成する方法

イベント シンクのテスト

シンクをテストするには、組織の外部にいる SMTP 受信者に電子メール メッセージを送信します。正常であれば、受信者は、末尾に署名が追加されたメッセージを受け取ります。


: Microsoft Outlook などの MAPI クライアントを使用して電子メールを送信する場合、受信者に届くメッセージは変更されません。これは、電子メールで SMTP トランスポート イベントが起動されるときに、MAPI を使用して送信したメッセージが SMTP 形式ではないためです。そのため、イベントのコードで行った変更は保持されません。

関連情報

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

273233 [PRB] CDOEX: CDO SMTP イベント シンクで MAPI メッセージの内容を変更できない
プロパティ

文書番号:317680 - 最終更新日: 2007/11/25 - リビジョン: 1

フィードバック