現在オフラインです。再接続するためにインターネットの接続を待っています

Visual Basic で送信する SMTP メッセージに免責事項を追加する方法

Microsoft Visual Basic Scripting Edition については、次の資料を参照してください。317680
はじめに
この資料では、SMTP トランスポート イベント シンクを使用して送信する SMTP 電子メール メッセージに、免責事項を追加する方法を、手順を追って説明します。

イベント シンクの作成

  1. Microsoft Visual Basic で ActiveX DLL を新規作成します。プロジェクト名を SMTPEventSink、モジュール名を Disclaimer とします。
  2. [プロジェクト] メニューの [参照設定] で、[Microsoft CDO for Exchange 2000 Library] と [Server Extension Objects COM Library] を追加します。
  3. モジュールに次のコードを入力します。
    Dim TextDisclaimer As StringDim HTMLDisclaimer As StringImplements IEventIsCacheableImplements CDO.ISMTPOnArrivalPrivate Sub IEventIsCacheable_IsCacheable()    'Just returns S_OK.End SubPrivate Sub Class_Initialize()  'TODO: Replace the sample disclaimer text with your own text.  TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer Text."  HTMLDisclaimer = "<p></p><p>DISCLAIMER:<br>Sample Disclaimer Text"End SubPrivate Sub ISMTPOnArrival_OnArrival(ByVal Msg As CDO.IMessage, EventStatus As CDO.CdoEventStatus)    If Msg.HTMLBody <> "" Then        Dim szPartI As String        Dim szPartII As String        Dim pos As Integer                'Search for the "</body>" tag and insert the 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    EventStatus = cdoRunNextSinkEnd Sub					
  4. サンプルの免責事項のテキストを実際に使用するテキストに置き換え、DLL をビルドします。

イベント シンクの登録

イベント シンクを登録するには、Smtpreg.vbs ファイルを使用します。このファイルは Exchange SDK と共にインストールされています。
  1. コマンド プロンプトで \Exchange SDK\SDK\Support\CDO\Scripts フォルダに移動し、cscript smtpreg.vbs /add 1 OnArrival SMTPDisclaimer SMTPEventSink.Disclaimer "mail from=*@your-domain-here.com" と入力します。

    コマンドが正常に実行されると、スクリプトで生成された成功のメッセージが表示されます。
  2. このイベントの登録を解除するには、cscript smtpreg.vbs /remove 1 OnArrival SMTPDisclaimer と入力します。
イベントのバインド管理の関連情報については、次の MSDN (Microsoft Developer Network) Web サイトを参照してください。

イベント シンクのテスト

イベント シンクをテストするには、組織の外部にいる SMTP 受信者に電子メール メッセージを送信します。受信者は、末尾に免責事項が追加されたメッセージを受け取ります。

: Microsoft Outlook などの MAPI クライアントを使用して電子メール メッセージを送信する場合、受信者に届くメッセージは変更されません。これは、電子メール メッセージで SMTP トランスポート イベントが起動されるときに、MAPI を使用して送信した電子メール メッセージが SMTP 形式ではないためです。そのため、イベントのコードで行った変更は保持されません。
関連情報
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
273233 [PRB] CDOEX: CDO SMTP イベント シンクで MAPI メッセージの内容を変更できない
プロパティ

文書番号:317327 - 最終更新日: 11/26/2007 01:44:00 - リビジョン: 8.3

  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition
  • Collaboration Data Objects for Exchange 2000 6.0
  • Microsoft Collaboration Data Objects 2.0
  • kbhowtomaster KB317327
フィードバック