1

Exchange 2010 を使用しており、メールボックスに着信するすべての新しい電子メールに対して Web サービスを使用してプロセスを実行する必要があります。このプロセスでは、基本的に電子メールが内部タスク リストに追加されます。

これにPowershellを使用できますか?

Powershell を使用したことがないので、その機能についての手がかりがありません。

そうでない場合は、X 秒ごとにメールボックスを監視する以外に、これを行う別の方法を提案できます。本当に私はそれをイベントベースにしたいので、新しいメールがない場合は処理しません。

乾杯、マイク

4

1 に答える 1

1

これについて数日かけて調査しましたが、受信メール イベントにカスタム コードを追加するのは非常に難しいようです。また、Exchange が電子メール システムの速度を低下させていると判断した場合、その方法の多くは無視されます。( http://www.outlookcode.com/article.aspx?id=62 )

もう 1 つの方法は、SMTP イベントにフックすることです。これは機能しますが、少しハックされているように感じます。そのためには、wscript を作成し、それをメールの到着イベントに対して登録する必要があります。

以下は、SMTP 経由で届くすべての電子メールにランダムな 16 進参照を追加する vb スクリプトの例です。

<SCRIPT LANGUAGE="VBScript">

Sub IEventIsCacheable_IsCacheable()
    'To implement the interface, and return S_OK implicitly
End Sub

Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
    Dim Flds

    randomize()

    set Flds = Msg.Fields
    With Flds
        strSubject = .Item("urn:schemas:httpmail:subject")

        if instr(strSubject, "Ref=") = 0 then
            strSubject = Replace(strSubject, CHR(9), "") & " (Ref=" & hex(replace(timer(), ".", "")) & hex(rnd()) & ")"
            .Item("urn:schemas:httpmail:subject") = strSubject
            .Update
        else
            strSubject = LEFT(strSubject, instr(strSubject, "(Ref=") - 1) & MID(strSubject, instr(instr(strsubject, "(Ref="), strSubject, ")") + 1, Len(strSubject)) & " (Ref=" & hex(replace(timer(), ".", "")) & hex(rnd()) & ")"
            .Item("urn:schemas:httpmail:subject") = strSubject
            .Update
        end if
    End With

    Msg.Datasource.Save

    EventStatus = 0 'Run next sink

End Sub

</SCRIPT>

次に、スクリプトを登録するには、これを実行します。

Cscript smtpreg.vbs /add 1 onarrival SMTPAddRef CDO.SS_SMTPOnArrivalSink "mail from=*"
Cscript smtpreg.vbs /setprop 1 onarrival SMTPAddRef Sink ScriptName "C:\ENTERPATH\SMTPRef.vbs"

スクリプトを登録解除するには、次を実行します。

cscript smtpreg.vbs /remove 1 onarrival SMTPAddRef

最も回復力のある方法は、X 分ごとに新しいメールをチェックするタイマー ベースのシステムを作成することです。

私が望んでいたほど滑らかではありませんが、それはうまくいきます.

これが他の人に役立つことを願っています。

于 2010-05-19T11:26:42.773 に答える