blancoMailCoreは メール送受信を安全で簡単に利用できるようにするためのJavaライブラリ(jarファイル)です。
blancoMailCoreは内部的には JavaMail APIを利用しています。
しかし blancoMailCoreを使うと JavaMail APIよりもずっと簡単にメール送受信を利用できます。
blancoMailCoreが提供するいくつかのバリューオブジェクトに値を設定してメソッドを呼び出すだけで、簡単にメール送受信機能を利用できるようになります。
※他の blanco Frameworkプロダクト群と異なり、blancoMailCoreはソースコード自動生成処理系ではありません。通常の実行ライブラリによる提供となります。

[ステータス]
 1.blancoMailCore   : 正式版

[機能]
blancoMailCoreには以下のような機能があります。
 1.メール送受信の基本機能
  ・シンプルなメール送受信APIの提供
    JavaMailに比べて圧倒的にシンプルなAPIを提供します。
  ・メール受信時のSubjectフィルタ機能
    Subjectが所定のパターンに合致するメールだけを受信する機能です。
  ・メールサーバとの通信タイムアウト機能
  ・SMTP認証、APOP認証、SSL接続対応の提供
    ※blancoMailCoreは POP before SMTP対応専用のAPIは提供しません。POP before SMTPを実現するには、API利用者が メール受信をおこなってからメール送信を行うように順序をつけてAPI呼び出しをおこなうことにより実現できます。
 2.フェイルセーフ機構
  ・メールとしての必須項目の設定漏れ検知機能
    Subject設定忘れなど、よくある恥ずかしい間違いを防止する仕組みを提供します。
  ・TO, CCが所定の許容最大数より多く設定されていた場合の異常検知機能
    TO, CCの誤設定などによって大量の受信者に相互のメールアドレスを伝えてしまう間違い防止機能を提供します。これは個人情報保護の視点からも重要な機能です。
  ・テストモードの提供。
    テストモードを提供します。テストモードではメールサーバとの通信は行いません。テストモードに移行することにより、試験で動作させている場合にメールを本当に送信してしまうことを防ぐことができます。メール送受信ライブラリにテストモードがあるか無いかで、試験から運用までの工程の作業生産性がかなり変わります。テストモードが提供されるので、開発者はメール送受信そのものの機能に集中することができます。
 3.日本語対応関連機能
  ・日本語メール環境にまつわる問題への対処
    既知の文字化け問題に対する機能および対応を提供します。JavaMail 1.4をそのまま呼び出しただけだと 特定の環境では文字化けが発生してしまうことが知られています。blancoMailCoreを使うと、これら日本語固有の問題の発生を未然に防ぐことができます。
 4.ログ関連
  ・メールサーバとの送受信ログ(セッションログ)の保存機能
    メールサーバとの送受信ログ(セッションログ)を保存する機能です。この送受信ログには、基本的にメールサーバとの通信の全てが格納されます。開発者はメールログに関する個別実装の労力を省略することができます。
    ※この仕様ゆえに、セッションログについてはセキュリティ上の注意を必要とします。
 5.その他
  ・メールサーバとの接続情報設定を プロパティファイルによる外部設定化することができます。一方で、プロパティファイルを使わずに、バリューオブジェクトのみで設定することも可能です。
  ・Message-IDの調整
    JavaMail 1.4をそのまま呼び出しただけだと 特定の環境では ローカルPCのユーザ名やホスト名が Message-IDに含まれてしまいます。
    blancoMailCoreを利用すると Message-IDからユーザ名およびホスト名を取り除くことができます。
  ・統計情報取得機能
    blancoMailCoreが送受信した回数や通信所要時間などについての簡単な統計情報を取得する機能です。

[開発者]
 1.伊賀敏樹 (IGA Tosiki / いがぴょん): 開発および維持メンテ担当
 2.山本耕司 (ymoto) : レビュー、試験実施、リリース判定。
 3.志村正太郎 (smr) : レビュー、試験実施、リリース判定。

[ライセンス]
 1.ライセンス として GNU Lesser General Public License を採用しています。

[利用の前に]
 ※利用の前に、この注意書きを必ず読んでください。
 1.このプロダクトは、メール送受信のためのAPIライブラリです。
   blancoMailCore APIを利用すると、メールサーバを利用してメール送信およびメール受信をおこないます。
   この仕様を理解してから利用してください。もし メール送信やメール受信を実施したくないのであれば、このAPIは利用しないでください。
   特にメール受信について注意が必要です。受信したメールはメールサーバ上から削除されます。これは仕様です。
   このAPIを試しに利用する際には、メール送受信を行っても不都合のないメールサーバまたはメールアカウントを準備することを勧めます。 
 2.このプロダクトは、セッションデバッグ出力に関する機能を持っています。
   セッションデバッグ出力には、メールサーバとAPIとの間の通信内容が全て含まれます。
   そして、具体的には メールサーバとのやりとりや メールの内容そのものが含まれる点に注意してください。
   特にセキュリティ上の注意および考慮という観点を必ず持ってください。
   blancoMailCore APIの SESSION_DEBUG および SESSION_DEBUG_OUTPUT_DIRECTORY フラグを有効にすると、それらセッションデバッグが標準出力やセッションデバッグファイルに出力されます。
 3.blancoMailCore関連情報に目を通すことを強く推奨します。
   以下の情報源を参照ください。
   (1)blancoMailCoreホームページ
      http://hp.vector.co.jp/authors/VA027994/blanco/blancomailcore.html
   (2)blancoMailCore 仕様
      http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/*checkout*/blancofw/blancoMisc/doc/mail/blancoMailCoreSpec.doc

[依存するライブラリ]
 コンパイル及び実行には下記のライブラリを必要とします。
 クラスパスに含めるようにしてください。
  1.JavaMail
    URL http://java.sun.com/products/javamail/
    バージョン: 1.4.x
    ファイル名: javamail-1_4*.zip
    目当てとなるファイル
      mail.jar
  2.JavaBeans Activation Framework (JAF)
    URL: http://java.sun.com/products/javabeans/jaf/
    バージョン: 1.1.x
    ファイル名: jaf-1_1*.zip
    目当てとなるファイル
      activation.jar 
  3.blancoLog
   概要: blanco Framework共通ロギングライブラリ
   ライセンス: GNU Lesser General Public License
  4.blancoCommons
   概要: blanco Framework共通ライブラリ
   ライセンス: GNU Lesser General Public License
