2012-10-08T22:21:41の更新内容

works/tools/junk/SimpleMailer/index.wiki.txt

current previous
20,13 20,6
 
-開発版
-開発版
 
--[[http://svn.smdn.jp/anonsvn/tools/SimpleMailer/trunk/]]よりチェックアウトできます
--[[http://svn.smdn.jp/anonsvn/tools/SimpleMailer/trunk/]]よりチェックアウトできます
 
-0.8x
-0.8x
+
--${smdncms:distfilelink,SimpleMailer-0.84.tar.bz2}
+
---下記ライブラリのソースを同梱しています
+
----[[works/libs/Smdn.Net.Imap4.Client]] 0.84
+
----[[works/libs/Smdn.Net.Pop3.Client]] 1.13
+
----[[works/libs/Smdn.Security.Authentication.Sasl]] 0.32
+
----[[works/libs/Smdn.Formats.Mime]] 0.32
+
----[[works/libs/Smdn.Formats.Ini]] 0.19
 
--${smdncms:distfilelink,SimpleMailer-0.83.tar.bz2}
--${smdncms:distfilelink,SimpleMailer-0.83.tar.bz2}
 
---下記ライブラリのソースを同梱しています
---下記ライブラリのソースを同梱しています
 
----[[works/libs/Smdn.Net.Imap4.Client]] 0.83
----[[works/libs/Smdn.Net.Imap4.Client]] 0.83
64,13 57,6
 
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは[[掲示板>misc/forum/libs]]へどうぞ。
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは[[掲示板>misc/forum/libs]]へどうぞ。
 

        

        
 
*変更履歴
*変更履歴
+
**0.84 (2012-10-08)
+
-機能追加
+
--[メッセージ]メニュー下に添付ファイルを一覧表示・保存するための項目を追加した
+
-修正・改善
+
--ビルドターゲットを.NET Framework 3.5から.NET Framework 4に変更
+
--メールの構造を表示する代わりに、添付ファイルについての情報を表示するようにした
+

          
 
**0.83 (2012-10-01)
**0.83 (2012-10-01)
 
-ライブラリの更新のみ、本体部分は変更なし
-ライブラリの更新のみ、本体部分は変更なし
 

        

        

works/tools/junk/MRAConnector/index.wiki.txt

current previous
21,17 21,10
 
--[[http://svn.smdn.jp/anonsvn/tools/MRAConnector/trunk/]]よりチェックアウトできます
--[[http://svn.smdn.jp/anonsvn/tools/MRAConnector/trunk/]]よりチェックアウトできます
 
-0.8x
-0.8x
 
--パッケージ
--パッケージ
+
---${smdncms:distfilelink,MRAConnector-0.84.zip}
 
---${smdncms:distfilelink,MRAConnector-0.82.zip}
---${smdncms:distfilelink,MRAConnector-0.82.zip}
 
---${smdncms:distfilelink,MRAConnector-0.81.zip}
---${smdncms:distfilelink,MRAConnector-0.81.zip}
 
---${smdncms:distfilelink,MRAConnector-0.80.zip}
---${smdncms:distfilelink,MRAConnector-0.80.zip}
 
--ソースコード
--ソースコード
+
---${smdncms:distfilelink,MRAConnector-0.84.tar.bz2}
+
----下記ライブラリのソースを同梱しています
+
-----[[works/libs/Smdn.Net.Imap4.Client]] 0.84
+
-----[[works/libs/Smdn.Net.Pop3.Client]] 1.13
+
-----[[works/libs/Smdn.Security.Authentication.Sasl]] 0.32
+
-----[[works/libs/Smdn.Formats.Ini]] 0.19
 
---${smdncms:distfilelink,MRAConnector-0.82.tar.bz2}
---${smdncms:distfilelink,MRAConnector-0.82.tar.bz2}
 
----下記ライブラリのソースを同梱しています
----下記ライブラリのソースを同梱しています
 
-----[[works/libs/Smdn.Net.Imap4.Client]] 0.82
-----[[works/libs/Smdn.Net.Imap4.Client]] 0.82
93,9 86,6
 
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは[[掲示板>misc/forum/libs]]へどうぞ。
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは[[掲示板>misc/forum/libs]]へどうぞ。
 

        

        
 
*変更履歴
*変更履歴
+
**0.84 (2012-10-08)
+
-ライブラリの更新のみ、本体部分は変更なし
+

          
 
**0.82 (2012-09-24)
**0.82 (2012-09-24)
 
-ライブラリの更新のみ、本体部分は変更なし
-ライブラリの更新のみ、本体部分は変更なし
 

        

        

works/libs/Smdn.Formats.Mime/releases/index.wiki.txt

current previous
10,7 10,6
 
-開発版
-開発版
 
--[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
--[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
 
-0.3x
-0.3x
+
--${smdncms:distfilelink,../Smdn.Formats.Mime-0.32.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Formats.Mime-0.31.tar.bz2}
--${smdncms:distfilelink,../Smdn.Formats.Mime-0.31.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Formats.Mime-0.30.tar.bz2}
--${smdncms:distfilelink,../Smdn.Formats.Mime-0.30.tar.bz2}
 
-0.2x
-0.2x
30,21 29,6
 
---[[works/tools/junk/TundereBird]]に含まれているものを使ってください
---[[works/tools/junk/TundereBird]]に含まれているものを使ってください
 

        

        
 
**ビルド済みパッケージ
**ビルド済みパッケージ
+
|*0.32 (2012-10-08)
+
|~種類|~パッケージ|h
+
|~通常版|{{
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx4.5.zip,.NET 4.5}
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx4.0.zip,.NET 4}
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx3.5.zip,.NET 3.5}
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx2.0.zip,.NET 2.1}
+
}}|
+
|~単一アセンブリ版&sub{*1};|{{
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx4.5-combined.zip,.NET 4.5}
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx4.0-combined.zip,.NET 4}
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx3.5-combined.zip,.NET 3.5}
+
${smdncms:distfilelink,../Smdn.Formats.Mime-0.32-netfx2.0-combined.zip,.NET 2.1}
+
}}|
+

          
 
|*0.31 (2012-10-01)
|*0.31 (2012-10-01)
 
|~種類|~パッケージ|h
|~種類|~パッケージ|h
 
|~通常版|{{
|~通常版|{{
80,37 64,6
 
:ビルド設定等|コンパイラにMono gmcs/dmcsを使用、オプションに/debug- /optimize+ /define:TRACEを指定してビルドしています。
:ビルド設定等|コンパイラにMono gmcs/dmcsを使用、オプションに/debug- /optimize+ /define:TRACEを指定してビルドしています。
 

        

        
 
*変更履歴
*変更履歴
+
**0.32 (2012-10-08)
+
-機能追加
+
--MimeMessage.Load(string file)メソッドを使った場合は、デフォルトではメール本文の内容をメモリ上に展開せず、直接ファイルから読み込むようにした
+
--MimeMessageクラスに以下のプロパティを追加
+
---自身を格納しているメッセージパートを返すParentPartプロパティ
+
---自身を格納している最上位のメッセージパートを返すRootPartプロパティ
+
---ネストの深さに関わらず、入れ子になっているすべてのメッセージパートを返すAllPartsプロパティ
+
---メッセージパートの通番を文字列形式で返すPartSpecifierプロパティ
+
--Mailクラスに以下のメソッド・プロパティを追加
+
---MimeMessage.Loadメソッドに対応するLoadメソッドのオーバーロード
+
---すべての添付ファイルを指定されたディレクトリに保存するSaveAttachedFilesToDirectoryメソッド
+
---すべての添付ファイルを指定されたパス・ファイル名で保存するSaveAttachedFilesAsメソッド
+
--AttachedFileクラスに以下のメソッド・プロパティを追加
+
---AttachedFileを添付しているMailのインスタンスを返すMailプロパティ
+
---添付ファイルをContent-Type・Content-Disposition等に設定されているファイル名で保存するSaveメソッド
+
---任意のMimeMessageからインスタンスを作成するCreateFromメソッド
+
--MimeHeaderクラスに以下のメソッドを追加
+
---すべてのパラメータを取得するGetAllParametersメソッド
+
---すべてのパラメータを列挙するForEachParametersメソッド
+
-修正・改善
+
--';'で終わり、パラメータがないヘッダーフィールドの場合にMimeHeader.GetValueWithoutParameterが';'を含む値を返してしまう不具合を修正
+
--MimeMessage.SaveContentメソッドで既存のファイルを上書きする場合、ファイルの末尾に以前のファイル内容が残ってしまう不具合を修正
+
--MimeHeaderCollection内の順序が入力メッセージ中でのヘッダの出現順序と同じとするように修正
+
--MimeHeaderCollection.TryGeyHeaderをTryGetHeaderに改名
+
--Mail.GetHeaderValueOfメソッドで、パラメータ部分も取得するかどうかを指定できるオーバーロードを追加
+
--Mail.AttachedFileプロパティについて
+
---戻り値をIEnumerable<AttachedFile>からAttachedFile[]に変更
+
---常に同じインスタンスを返すように修正
+
---ネストの深さに関わらず、入れ子になっているすべての添付ファイルを返すように修正
+
---添付ファイルとして扱うメッセージパートの判定基準を修正
+

          
 
**0.31 (2012-10-01)
**0.31 (2012-10-01)
 
主に添付ファイル関連の操作の追加、MIMEエンコードの実装不備の修正、ヘッダの解析に関する実装の改善。
主に添付ファイル関連の操作の追加、MIMEエンコードの実装不備の修正、ヘッダの解析に関する実装の改善。
 

        

        

works/libs/Smdn.Formats.Mime/index.wiki.txt

current previous
8,7 8,8
 
*ダウンロード
*ダウンロード
 
本ライブラリはMIT X11ライセンスでのリリースとなります。
本ライブラリはMIT X11ライセンスでのリリースとなります。
 

        

        
~
:最新版 (ソースコード)|${smdncms:distfilelink,Smdn.Formats.Mime-0.32.tar.bz2}
:最新版 (ソースコード)|0.3x系 ${smdncms:distfilelink,Smdn.Formats.Mime-0.31.tar.bz2}
-
0.2x系 ${smdncms:distfilelink,Smdn.Formats.Mime-0.24.tar.bz2}
 
:開発版|[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
:開発版|[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
 
:ビルド済みパッケージ・過去のバージョン|[[works/libs/Smdn.Formats.Mime/releases]]をご覧ください
:ビルド済みパッケージ・過去のバージョン|[[works/libs/Smdn.Formats.Mime/releases]]をご覧ください
 

        

        
35,19 36,19
 
using System;
using System;
 
using Smdn.Formats.Mime;
using Smdn.Formats.Mime;
 

        

        
~
class Sample {
public class ReadMail {
 
  public static void Main(string[] args) {
  public static void Main(string[] args) {
 
    // 電子メール形式のファイルsample.emlを読み込む
    // 電子メール形式のファイルsample.emlを読み込む
~
    using (Mail mail = Mail.Load("sample.eml")) {
    var mail = Mail.Load("sample.eml");
~
      // 各ヘッダのデコード済みの値を表示

          
~
      Console.WriteLine("From: {0}", mail.From);
    // 各ヘッダのデコード済みの値を表示
~
      Console.WriteLine("Date: {0}", mail.Date);
    Console.WriteLine("From: {0}", mail.From);
~
      Console.WriteLine("Subject: {0}", mail.Subject);
    Console.WriteLine("Date: {0}", mail.Date);
~
      Console.WriteLine();
    Console.WriteLine("Subject: {0}", mail.Subject);
~

          
    Console.WriteLine();
~
      // メールの本文を文字列として取得して表示

          
~
      Console.WriteLine(mail.ReadContentAsText());
    // メールの本文を文字列として取得して表示
~
    }
    Console.WriteLine(mail.ReadContentAsText());
 
  }
  }
 
}
}
 
}}
}}
56,19 57,19
 
Imports System
Imports System
 
Imports Smdn.Formats.Mime
Imports Smdn.Formats.Mime
 

        

        
~
Class Sample
Public Class ReadMail
 
  Public Shared Sub Main()
  Public Shared Sub Main()
 
    ' 電子メール形式のファイルsample.emlを読み込む
    ' 電子メール形式のファイルsample.emlを読み込む
~
    Using mail As Mail = Mail.Load("sample.eml")
    Dim mail As Mail = Mail.Load("sample.eml")
~
      ' 各ヘッダのデコード済みの値を表示

          
~
      Console.WriteLine("From: {0}", mail.From)
    ' 各ヘッダのデコード済みの値を表示
~
      Console.WriteLine("Date: {0}", mail.Date)
    Console.WriteLine("From: {0}", mail.From)
~
      Console.WriteLine("Subject: {0}", mail.Subject)
    Console.WriteLine("Date: {0}", mail.Date)
~
      Console.WriteLine()
    Console.WriteLine("Subject: {0}", mail.Subject)
~

          
    Console.WriteLine()
~
      ' メールの本文を文字列として取得して表示

          
~
      Console.WriteLine(mail.ReadContentAsText())
    ' メールの本文を文字列として取得して表示
~
    End Using
    Console.WriteLine(mail.ReadContentAsText())
 
  End Sub
  End Sub
 
End Class
End Class
 
}}
}}

works/libs/Smdn.Formats.Mime/docs/index.wiki.txt

current previous
48,7 48,6
 

        

        
 
*サンプルコード [#samples]
*サンプルコード [#samples]
 
**Mailクラス
**Mailクラス
+
***Mail.Loadメソッド
 
emlファイルを読み込んで件名・差出人・日付と本文を表示する例。
emlファイルを読み込んで件名・差出人・日付と本文を表示する例。
 

        

        
 
#tabpage(C#)
#tabpage(C#)
59,16 58,16
 
class Sample {
class Sample {
 
  public static void Main(string[] args) {
  public static void Main(string[] args) {
 
    // 電子メール形式のファイルsample.emlを読み込む
    // 電子メール形式のファイルsample.emlを読み込む
~
    using (Mail mail = Mail.Load("sample.eml")) {
    var mail = Mail.Load("sample.eml");
~
      // 各ヘッダのデコード済みの値を表示

          
~
      Console.WriteLine("From: {0}", mail.From);
    // 各ヘッダのデコード済みの値を表示
~
      Console.WriteLine("Date: {0}", mail.Date);
    Console.WriteLine("From: {0}", mail.From);
~
      Console.WriteLine("Subject: {0}", mail.Subject);
    Console.WriteLine("Date: {0}", mail.Date);
~
      Console.WriteLine();
    Console.WriteLine("Subject: {0}", mail.Subject);
-
    Console.WriteLine();
 

        

        
~
      // メールの本文を文字列として取得して表示
    // メールの本文を文字列として取得して表示
~
      Console.WriteLine(mail.ReadContentAsText());
    Console.WriteLine(mail.ReadContentAsText());
+
    }
 
  }
  }
 
}
}
 
}}
}}
80,95 79,55
 
Class Sample
Class Sample
 
  Public Shared Sub Main()
  Public Shared Sub Main()
 
    ' 電子メール形式のファイルsample.emlを読み込む
    ' 電子メール形式のファイルsample.emlを読み込む
~
    Using mail As Mail = Mail.Load("sample.eml")
    Dim mail As Mail = Mail.Load("sample.eml")
+
      ' 各ヘッダのデコード済みの値を表示
+
      Console.WriteLine("From: {0}", mail.From)
+
      Console.WriteLine("Date: {0}", mail.Date)
+
      Console.WriteLine("Subject: {0}", mail.Subject)
+
      Console.WriteLine()
+

          
+
      ' メールの本文を文字列として取得して表示
+
      Console.WriteLine(mail.ReadContentAsText())
+
    End Using
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+
Mail.Loadメソッドでは、ファイルからMailのインスタンスを作成した場合、内部で開いたファイルのFileStreamを保持します。 Mailインスタンスが不要になったら、Disposeメソッドを呼び出すようにしてください。
+

          
+
Mail.Loadメソッドの引数loadContentToMemoryにtrueを指定すると、ファイルの内容をメモリ上に展開して保持します。 この場合FileStreamは保持しないため、必ずしもDisposeメソッドを呼ぶ必要はありません。
+

          
+
MimeMessage.Loadメソッドも、Mail.Loadメソッドと同様の動作となります。
+

          
+
***Mail.LoadMailメソッド
+
文字列(string)に格納されているメール内容からMailインスタンスを作成する場合は、Mail.LoadMailメソッドが使えます。
+

          
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args)
+
  {
+
    string input = @"MIME-Version: 1.0
+
Content-Type: text/plain
+

          
+
Hello, world!";
+

          
+
    // 文字列からMailのインスタンスを作成する
+
    Mail mail = Mail.LoadMail(input);
+

          
+
    // 本文を表示する
+
    Console.WriteLine(mail.ReadContentAsText());
+
  }
+
}
+
}}
+
#tabpage(VB)
+
#code(vb){{
+
Imports System
+
Imports Smdn.Formats.Mime
+

          
+
Public Class Sample
+
  Public Shared Sub Main()
+
    Dim input As String = _
+
"MIME-Version: 1.0" + vbCrLf + _
+
"Content-Type: text/plain"  + vbCrLf + _
+
""  + vbCrLf + _
+
"Hello, world!"
 

        

        
~
    ' 文字列からMailのインスタンスを作成する
    ' 各ヘッダのデコード済みの値を表示
~
    Dim mail As Mail = Mail.LoadMail(input)
    Console.WriteLine("From: {0}", mail.From)
-
    Console.WriteLine("Date: {0}", mail.Date)
-
    Console.WriteLine("Subject: {0}", mail.Subject)
-
    Console.WriteLine()
 

        

        
~
    ' 本文を表示する
    ' メールの本文を文字列として取得して表示
 
    Console.WriteLine(mail.ReadContentAsText())
    Console.WriteLine(mail.ReadContentAsText())
 
  End Sub
  End Sub
 
End Class
End Class
 
}}
}}
 
#tabpage-end
#tabpage-end
 

        

        
~
***Mail.SaveAttachedFilesToDirectoryメソッド

          
-
**Mailクラス+AttachedFileクラス
 
emlファイルを読み込んでメールに添付されているファイルを保存する例。
emlファイルを読み込んでメールに添付されているファイルを保存する例。
 

        

        
 
#tabpage(C#)
#tabpage(C#)
 
#code(cs){{
#code(cs){{
 
using System;
using System;
~
using System.IO;
using Smdn;
 
using Smdn.Formats.Mime;
using Smdn.Formats.Mime;
 

        

        
 
class Sample {
class Sample {
 
  public static void Main(string[] args)
  public static void Main(string[] args)
 
  {
  {
 
    // 電子メール形式のファイルsample.emlを読み込む
    // 電子メール形式のファイルsample.emlを読み込む
~
    using (Mail mail = Mail.Load("sample.eml")) {
    var mail = Mail.Load("sample.eml");
~
      // 電子メールに添付されている全てのファイルをディレクトリattachedに保存

          
~
      FileInfo[] files = mail.SaveAttachedFilesToDirectory("attached");
    // 電子メールに添付されているすべてのファイルを参照
~

          
    foreach (var attachedFile in mail.AttachedFiles) {
~
      // 保存したファイルの名前とサイズを表示する
      // ファイル名を取得
~
      foreach (FileInfo file in files) {
      var filename = attachedFile.FileName;
~
        Console.WriteLine("{0} ({1} bytes)", file.FullName, file.Length);

          
-
      if (filename == null) {
-
        // 添付ファイルにファイル名が設定されていない場合、
-
        // Content-Typeに合わせて適当なファイル名を設定
-
        if (attachedFile.MimeType.Equals("image/jpeg"))
-
          filename = "attached.jpg";
-
        else if (attachedFile.MimeType.Equals("text/csv"))
-
          filename = "attached.csv";
-
        else if (attachedFile.MimeType.Equals("text/html"))
-
          filename = "attached.html";
 
      }
      }
-

          
-
      // 添付ファイルを保存
-
      attachedFile.SaveContent(filename);
 
    }
    }
 
  }
  }
 
}
}
176,94 135,33
 
#tabpage(VB)
#tabpage(VB)
 
#code(vb){{
#code(vb){{
 
Imports System
Imports System
+
Imports System.IO
 
Imports Smdn.Formats.Mime
Imports Smdn.Formats.Mime
 

        

        
~
Public Class Sample
Public Class ReadMail
 
  Public Shared Sub Main()
  Public Shared Sub Main()
 
    ' 電子メール形式のファイルsample.emlを読み込む
    ' 電子メール形式のファイルsample.emlを読み込む
~
    Using mail As Mail = Mail.Load("sample.eml")
    Dim mail As Mail = Mail.Load("sample.eml")
+
      ' 電子メールに添付されている全てのファイルをディレクトリ"attached"に保存
+
      Dim files As FileInfo() = mail.SaveAttachedFilesToDirectory("attached")
+

          
+
      ' 保存したファイルの名前とサイズを表示する
+
      For Each file As FileInfo In files
+
        Console.WriteLine("{0} ({1} bytes)", file.FullName, file.Length)
+
      Next
+
    End Using
+
  End Sub
+
End Class
+
}}
+
#tabpage-end
+

          
+
上記の例で使用しているSaveAttachedFilesToDirectoryメソッドでは、添付ファイルにファイル名が設定されていない場合ライブラリがファイル名を決定します。 個々の添付ファイルのファイル名を指定したい場合は、SaveAttachedFilesAsメソッドを使うか、次の例のようにMail.AttachedFilesプロパティを参照して添付ファイルを一つずつ保存してください。
+

          
+
**AttaachedFileクラス
+
メールに添付されているファイル(Mail.AttachedFiles)を一つずつ保存する例。
+

          
+
#tabpage(C#)
+
#code(cs){{
+
using System;
+
using Smdn.Formats.Mime;
+

          
+
class Sample {
+
  public static void Main(string[] args)
+
  {
+
    // 電子メール形式のファイルsample.emlを読み込む
+
    using (Mail mail = Mail.Load("sample.eml")) {
+
      // 電子メールに添付されているすべてのファイルを参照
+
      foreach (AttachedFile attachedFile in mail.AttachedFiles) {
+
        // ファイル名を取得
+
        string filename = attachedFile.FileName;
+

          
+
        if (filename == null) {
+
          // 添付ファイルにファイル名が設定されていない場合、
+
          // Content-Typeに合わせて適当なファイル名を設定
+
          if (attachedFile.MimeType.Equals("image/jpeg"))
+
            filename = "attached.jpg";
+
          else if (attachedFile.MimeType.Equals("text/csv"))
+
            filename = "attached.csv";
+
          else if (attachedFile.MimeType.Equals("text/html"))
+
            filename = "attached.html";
+
        }
 

        

        
~
        // 添付ファイルを保存
    ' 電子メールに添付されているすべてのファイルを参照
~
        attachedFile.SaveContent(filename);
    For Each attachedFile As AttachedFile In mail.AttachedFiles
~
      }
      ' ファイル名を取得
~
    }
      Dim filename As String = attachedFile.FileName
~
  }

          
~
}
      If filename Is Nothing Then
~
}}
        ' 添付ファイルにファイル名が設定されていない場合、
~
#tabpage(VB)
        ' Content-Typeに合わせて適当なファイル名を設定
~
#code(vb){{
        If attachedFile.MimeType.Equals("image/jpeg") Then
~
Imports System
          filename = "attached.jpg"
~
Imports Smdn.Formats.Mime
        Else If attachedFile.MimeType.Equals("text/csv") Then
~

          
          filename = "attached.csv"
~
Public Class Sample
        Else If attachedFile.MimeType.Equals("text/html") Then
~
  Public Shared Sub Main()
          filename = "attached.html"
+
    ' 電子メール形式のファイルsample.emlを読み込む
+
    Using mail As Mail = Mail.Load("sample.eml")
+
      ' 電子メールに添付されているすべてのファイルを参照
+
      For Each attachedFile As AttachedFile In mail.AttachedFiles
+
        ' ファイル名を取得
+
        Dim filename As String = attachedFile.FileName
+

          
+
        If filename Is Nothing Then
+
          ' 添付ファイルにファイル名が設定されていない場合、
+
          ' Content-Typeに合わせて適当なファイル名を設定
+
          If attachedFile.MimeType.Equals("image/jpeg") Then
+
            filename = "attached.jpg"
+
          Else If attachedFile.MimeType.Equals("text/csv") Then
+
            filename = "attached.csv"
+
          Else If attachedFile.MimeType.Equals("text/html") Then
+
            filename = "attached.html"
+
          End If
 
        End If
        End If
-
      End If
 

        

        
~
        ' 添付ファイルを保存
      ' 添付ファイルを保存
~
        attachedFile.SaveContent(filename)
      attachedFile.SaveContent(filename)
~
      Next
    Next
+
    End Using
 
  End Sub
  End Sub
 
End Class
End Class
 
}}
}}
280,10 178,10
 
class Sample {
class Sample {
 
  public static void Main(string[] args) {
  public static void Main(string[] args) {
 
    // sample.emlを読み込む
    // sample.emlを読み込む
~
    using (var message = MimeMessage.Load("sample.eml")) {
    var message = MimeMessage.Load("sample.eml");
~
      // 内容を表示する

          
~
      Dump(message, 0);
    // 内容を表示する
~
    }
    Dump(message, 0);
 
  }
  }
 

        

        
 
  private static void Dump(MimeMessage message, int nest)
  private static void Dump(MimeMessage message, int nest)
325,10 223,10
 
Class Sample
Class Sample
 
  Public Shared Sub Main(ByVal args As String())
  Public Shared Sub Main(ByVal args As String())
 
    ' sample.emlを読み込む
    ' sample.emlを読み込む
~
    Using message As MimeMessage = MimeMessage.Load("sample.eml")
    Dim message As MimeMessage = MimeMessage.Load("sample.eml")
~
      ' 内容を表示する

          
~
      Dump(message, 0)
    ' 内容を表示する
~
    End Using
    Dump(message, 0)
 
  End Sub
  End Sub
 

        

        
 
  Private Shared Sub Dump(ByVal message As MimeMessage, ByVal nest As Integer)
  Private Shared Sub Dump(ByVal message As MimeMessage, ByVal nest As Integer)

works/libs/Smdn.Net.Pop3.Client/releases/index.wiki.txt

current previous
8,7 8,6
 

        

        
 
**ソースコード
**ソースコード
 
-1.1x
-1.1x
+
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.12.tar.bz2}
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.12.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.11.tar.bz2}
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.11.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.10.tar.bz2}
--${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.10.tar.bz2}
37,21 36,6
 
1.04までは[[works/libs/Smdn.Net.Pop3.WebClients]]のソースコードも含まれています。
1.04までは[[works/libs/Smdn.Net.Pop3.WebClients]]のソースコードも含まれています。
 

        

        
 
**ビルド済みパッケージ
**ビルド済みパッケージ
+
|*1.13 (2012-10-08)
+
|~種類|~パッケージ|h
+
|~通常版|{{
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx4.5.zip,.NET 4.5}
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx4.0.zip,.NET 4}
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx3.5.zip,.NET 3.5}
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx2.0.zip,.NET 2.x}
+
}}|
+
|~単一アセンブリ版&sub{*1};|{{
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx4.5-combined.zip,.NET 4.5}
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx4.0-combined.zip,.NET 4}
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx3.5-combined.zip,.NET 3.5}
+
${smdncms:distfilelink,../Smdn.Net.Pop3.Client-1.13-netfx2.0-combined.zip,.NET 2.x}
+
}}|
+

          
 
|*1.12 (2012-10-01)
|*1.12 (2012-10-01)
 
|~種類|~パッケージ|h
|~種類|~パッケージ|h
 
|~通常版|{{
|~通常版|{{
164,13 148,6
 
:ビルド設定等|コンパイラにMono gmcs/dmcsを使用、オプションに/debug- /optimize+ /define:TRACEを指定してビルドしています。
:ビルド設定等|コンパイラにMono gmcs/dmcsを使用、オプションに/debug- /optimize+ /define:TRACEを指定してビルドしています。
 

        

        
 
*変更履歴
*変更履歴
+
**1.13 (2012-10-08)
+
-修正・改善
+
--PopClient.DownloadAllMessagesToDirectory()メソッドについて、指定されたディレクトリが存在しない場合は、ディレクトリを作成してからダウンロードするように変更
+
--PopClient.Download*MessagesTo*()メソッドについて、ダウンロードしたファイルを表すFileInfoを返すようにした
+
--Mono 2.6関連のワークアラウンドを削除
+
--上位ライブラリの不具合修正
+

          
 
**1.12 (2012-10-01)
**1.12 (2012-10-01)
 
-修正・改善
-修正・改善
 
--上位ライブラリのインターフェイス変更にあわせて実装を修正
--上位ライブラリのインターフェイス変更にあわせて実装を修正

works/libs/Smdn.Net.Pop3.Client/index.wiki.txt

current previous
13,7 13,7
 
*ダウンロード
*ダウンロード
 
本ライブラリはMIT X11ライセンスでのリリースとなります。
本ライブラリはMIT X11ライセンスでのリリースとなります。
 

        

        
~
:最新版 (ソースコード)|${smdncms:distfilelink,Smdn.Net.Pop3.Client-1.13.tar.bz2}
:最新版 (ソースコード)|${smdncms:distfilelink,Smdn.Net.Pop3.Client-1.12.tar.bz2}
 
:開発版|[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
:開発版|[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
 
:ビルド済みパッケージ・過去のバージョン|[[works/libs/Smdn.Net.Pop3.Client/releases]]をご覧ください
:ビルド済みパッケージ・過去のバージョン|[[works/libs/Smdn.Net.Pop3.Client/releases]]をご覧ください
 

        

        

works/libs/Smdn.Net.Imap4.Client/index.wiki.txt

current previous
13,7 13,7
 
*ダウンロード
*ダウンロード
 
本ライブラリはMIT X11ライセンスでのリリースとなります。
本ライブラリはMIT X11ライセンスでのリリースとなります。
 

        

        
~
:最新版 (ソースコード)|${smdncms:distfilelink,Smdn.Net.Imap4.Client-0.84.tar.bz2}
:最新版 (ソースコード)|${smdncms:distfilelink,Smdn.Net.Imap4.Client-0.83.tar.bz2}
 
:開発版|[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
:開発版|[[http://svn.smdn.jp/anonsvn/libs/Smdn/trunk/]]よりチェックアウトできます
 
:ビルド済みパッケージ・過去のバージョン|[[works/libs/Smdn.Net.Imap4.Client/releases]]をご覧ください
:ビルド済みパッケージ・過去のバージョン|[[works/libs/Smdn.Net.Imap4.Client/releases]]をご覧ください
 

        

        

works/libs/Smdn.Net.Imap4.Client/releases/index.wiki.txt

current previous
8,7 8,6
 

        

        
 
**ソースコード
**ソースコード
 
-0.8x
-0.8x
+
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.83.tar.bz2}
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.83.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.82.tar.bz2}
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.82.tar.bz2}
 
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.81.tar.bz2}
--${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.81.tar.bz2}
38,21 37,6
 
0.36までは[[works/libs/Smdn.Net.Imap4.WebClients]]のソースコードも含まれています。
0.36までは[[works/libs/Smdn.Net.Imap4.WebClients]]のソースコードも含まれています。
 

        

        
 
**ビルド済みパッケージ
**ビルド済みパッケージ
+
|*0.84 (2012-10-08)
+
|~種類|~パッケージ|h
+
|~通常版|{{
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx4.5.zip,.NET 4.5}
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx4.0.zip,.NET 4}
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx3.5.zip,.NET 3.5}
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx2.0.zip,.NET 2.1}
+
}}|
+
|~単一アセンブリ版&sub{*1};|{{
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx4.5-combined.zip,.NET 4.5}
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx4.0-combined.zip,.NET 4}
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx3.5-combined.zip,.NET 3.5}
+
${smdncms:distfilelink,../Smdn.Net.Imap4.Client-0.84-netfx2.0-combined.zip,.NET 2.1}
+
}}|
+

          
 
|*0.83 (2012-10-01)
|*0.83 (2012-10-01)
 
|~種類|~パッケージ|h
|~種類|~パッケージ|h
 
|~通常版|{{
|~通常版|{{
165,11 149,6
 
:ビルド設定等|コンパイラにMono gmcs/dmcsを使用、オプションに/debug- /optimize+ /define:TRACEを指定してビルドしています。
:ビルド設定等|コンパイラにMono gmcs/dmcsを使用、オプションに/debug- /optimize+ /define:TRACEを指定してビルドしています。
 

        

        
 
*変更履歴
*変更履歴
+
**0.84 (2012-10-08)
+
-修正・改善
+
--Mono 2.6関連のワークアラウンドを削除
+
--上位ライブラリの不具合修正
+

          
 
**0.83 (2012-10-01)
**0.83 (2012-10-01)
 
-修正・改善
-修正・改善
 
--上位ライブラリのインターフェイス変更にあわせて実装を修正
--上位ライブラリのインターフェイス変更にあわせて実装を修正