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