0

メールインデータベースアプリケーションを使用していますが、Bodyフィールドの一部ではない添付ファイルが含まれる電子メールを受信することがあるため、rtItem.EmbeddedObjectsで「表示」できないことがあります。

アタッチメントがボディにない場合、アタッチメントがあることをどのように識別しますか?それを確認したら、どのようにハンドルを取得しますか?

添付ファイルの種類(PDF、JPG、DOC、XLSなど)を判別し、それを切り離してから、拡張子に基づいて処理する必要があります。

これは、Body(RTF)フィールドと関連するEmbeddedObjectsのすべてのチェックを行うさまざまなIfステートメントです。これは、ボディの「外側」にあるアタッチメントをキャッチしません。

Set rtItem = mailDoc.Getfirstitem("Body")
        If ( rtItem.Type = RICHTEXT ) Then
            If Not (IsEmpty(rtItem.EmbeddedObjects)) Then    
                ForAll o In rtItem.EmbeddedObjects
                    If (o.Type = EMBED_ATTACHMENT) Then
                        noAttachment = True                            
                    Else
                        noAttachment = True                            
                    End If                        
                End ForAll
            Else
                noAttachment = True                            
            End if
        Else
            noRTF = True
        End If       

本文に何も含まれていないドキュメントもありますが、$Fileには添付ファイル名が含まれています。どうやってそれを見つけますか?

4

2 に答える 2

1

NotesDocumentのEmbeddedObjectsプロパティを使用して、これらの添付ファイルを取得する必要があります。そのプロパティとすべてのリッチテキストアイテムのすべてのEmbeddedObjectsプロパティを結合すると、すべての添付ファイルにアクセスできます。通常は、本文のリッチテキスト項目についてのみ心配する必要があることに注意してください。

于 2012-05-07T15:29:18.893 に答える
0

参考までに、メールサーバーのディスク容量が不足している場合、またはウイルススキャナーが添付ファイルへのアクセスをブロックした場合に、同様の問題が発生しました。

于 2012-05-08T06:56:48.173 に答える