The project of U-WA-
http://uwa.potetihouse.com/
戻る
TKMP.DLL   プログラミングTips

受信メールから添付ファイルを取り出す

 メールデータから添付ファイルを取り出す場合は、TKMP.Reader.MailReaderクラスのFileCollectionプロパティを使用します。 本来添付ファイルを含むメールは、マルチパートで場合によってはネスト構造になっていることがありますが、 FileCollectionプロパティはネスト構造内を含むすべての添付ファイルを一覧として返します
 次のサンプルは、引数にメールデータのストリームを渡すと、CドライブのDataフォルダに添付ファイルを保存します。 メールデータのストリームは、受信済みのTKMP.Net.MailDataクラスのDataStreamプロパティや、 事前に受信したメールデータを保存したファイルのSystem.IO.FileStreamクラスなどが利用できます。
C#.NET
//メールデータが格納されたストリームから添付ファイルを取り出し保存します
public void GetFiles(System.IO.Stream MailStream)
{
    //メールデータの解析クラスを作成します
    TKMP.Reader.MailReader reader = new TKMP.Reader.MailReader(MailStream , false);

    if(reader.FileCount == 0)
    {
        System.Windows.Forms.MessageBox.Show("添付ファイルはありません");
        return ;
    }

    //添付ファイルのコレクションを検査します
    foreach(TKMP.Reader.File file in reader.FileCollection) 
    {
        //CドライブのDataフォルダへ保存します
        file.FileSave(@"c:\data\");
    }
}
VB.NET
'メールデータが格納されたストリームから添付ファイルを取り出し保存します
Public Sub GetFiles(MailStream As System.IO.Stream)
   'メールデータの解析クラスを作成します
   Dim reader As New TKMP.Reader.MailReader(MailStream, False)
   
   If reader.FileCount = 0 Then
      System.Windows.Forms.MessageBox.Show("添付ファイルはありません")
      Return
   End If
   
   '添付ファイルのコレクションを検査します
   Dim file As TKMP.Reader.File
   For Each file In  reader.FileCollection
      'CドライブのDataフォルダへ保存します
      file.FileSave("c:\data\")
   Next file
End Sub
VB.NETのコードはC#.NETを元に「C#.NET to VB.NET Translator」によって作成したものです

トップページへ移動
The project of U-WA-
http://uwa.potetihouse.com/