0

SharePoint 2010 用に受信メールをセットアップし、SharePoint Server マシンに SMTP サーバーをセットアップして、その方法を使用して InfoPath からフォームを送信しています。InfoPath 分離コード オプションを使用して匿名ユーザーのアクセス許可を昇格するよりも簡単に思えます。電子メールを送信する独自​​の方法も試しましたが、InfoPath 2010 分離コード オプションを使用して電子メール メッセージと共にフォーム データを送信する方法を見つけることができませんでした。そこで、SharePoint UKの Web サイトからのアドバイスを使用して、別の方法を見つけました。

私の問題は、x-mailer ヘッダーを削除すると、電子メール メッセージ全体に関する問題は実際に解決されましたが、添付されたフォーム データをライブラリに送信できなかったことです。「元の電子メールを保存」設定が有効になっていないと、メッセージがインポートされて消えてしまいます。ドロップ フォルダー内のメッセージを調べると、コンテンツ タイプが「multipart/related」であることがわかりました。メモ帳 ++ で編集すると、それを「multipart/mixed」に変更でき、添付されたフォーム データが必要に応じてインポートされます。

そのため、これを実現するために VB スクリプトを変更しようとしましたが、スクリプトでは何も起こりません。明らかに私はそれで何か間違ったことをしており、VBScript は実際には私の専門分野ではありません。それらのフィールドを編集することができないだけかもしれませんし、別の角度から攻撃する必要があるかもしれません。VBScript でこれらの電子メールのコンテンツ タイプを編集するにはどうすればよいですか?

コード:

    Set shell = CreateObject("WScript.Shell")
    shell.LogEvent 4, "starting mail filter"
    if instr(iMsg.Fields("urn:schemas:mailheader:content-type"), "related") > 1 then
        Dim logMsg = "Mail Type:  " & iMsg.Fields("urn:schemas:mailheader:content-type")
        Dim tempType = Replace(iMsg.Fields("urn:schemas:mailheader:content-type"), "related", "mixed")
        shell.LogEvent 4, iMsg.Fields("urn:schemas:mailheader:content-type")
        iMsg.Fields.Delete("urn:schemas:mailheader:content-type")
        iMsg.Fields.Item("urn:schemas:mailheader:content-type") = tempType
        iMsg.Fields.Update
        shell.LogEvent 4, iMsg.Fields("urn:schemas:mailheader:content-type")
    end if
    shell.LogEvent 4, "end mail filter"
    iMsg.DataSource.Save
    EventStatus = 0
4

1 に答える 1

1

これをさらに詳しく調べたところ、電子メール メッセージの content-type プロパティは、この特定の vbscript ライブラリを使用して読み取り専用になっている多くのプロパティの 1 つであることがわかりました。そのため、ファイルを編集する別の方法を見つける必要があり、それに伴う作業は、電子メールを完全にスキップする代替ソリューションを見つけるのに必要な作業以上のものです。したがって、この場合、メールを使用する計画は断念します。このことから何かを取り除くとすれば、このスクリプトにはメール メッセージ オブジェクトの読み取り専用プロパティがあるとしましょう。

于 2013-04-10T14:27:34.493 に答える