メールと圧縮ファイルの階層展開ライブラリ

メールの Dehenken
変換道

では、各種フォーマットの文書ファイルから安全にテキストデータを取り出す技術を大切にしています。さまざまな形式のフォーマットから、精度良く・安全に取り出す継続的品質・性能向上活動を「変換道」と呼んでいます。

●多様なメールファイルからのメール情報の取り出し●メール添付情報と、付属する MIME 属性を得られます

本ライブラリは、さまざまなメーラで作成された１つの EML ファイルについメールに添付されている複数の添付ファイルの１つ１つを順に取り出す APIて、ヘッダとボディとその添付ファイルを取り出します。添付ファイルはさらを用意しています。また、このときのメールの添付に付属する添付ファイル名に添付展開し、そこに圧縮ファイルがあればそれを展開して、最終的に１つのの情報を取り出すことができます。

ファイルになるまで展開します ( 展開レベル指定による制限可）。対応している●ユニコードの対応

添付ファイルのエンコードは、uuencode(MIME 形式／本文埋込方式 )、base64、quoted-printable、binhex です。
また、UNIX の mail コマンドでいう mbox ファイルのような複合メール形式について、１つずつのメールを取り出し展開する API を用意しています。対応している 復 号 メール 形 式 は、mbox、thunderbird、Outlook、Becky! 等 のソフトウェアで作成されたものです (Becky! のみ添付ファイルの展開は未対応 )。

本 ライブラリは、日本語文字 コードの 2 つの 方式 Windows-31J(CP932) と JIS

X0213:2004 に 対応 しています。これらの 文字 コード 形式 を 指示 した 上 で、JIS(ISO-2022-JP) / EUC-JP / Shift_JIS / UTF-8 / UTF-16 の変換を行います。
本ライブラリは、content-type の指定によって、テキストの文字コードの判別を優先的に行うようにしています。デ変研 MFX ライブラリ multi-language 版
では、ヨーロッパ圏の文字コード ISO-8859 や、アジアの中国語、韓国語についても対応しています ( GB2312 / GB18030 / KSC 5601 / Big5 等 )。

●さまざまな圧縮ファイルからのファイルの取り出し●開発生産性を支援する情報の提供と処理の工夫

本ライブラリは、さまざまな圧縮ソフトで作成された圧縮ファイルを展開しま

本ライブラリを使用して開発する技術者のために、開発生産性を高めるためにす。展開は１つのファイルから再帰的に行い、最終的には１つのファイルのレ様々な情報の提供と工夫をしています。

ベルまで掘り下げます。圧縮したアーカイブファイルは、zip( 自己解凍形式を●サンプルソースを用意しており開発時の参考にしていただけます。

含む )、lha( 自己解凍形式を含む )、gzip、rar、bzip2 です。圧縮していないアーカ●ファイルを API に与えるだけで、ライブラリが自動判別して動作します。

イブファイルは tar / gnutar です。

●ファイルの判定には拡張子 ( サフィックス ) の情報を使いません。

※各種パスワード付は除きます。

●ファイル名指定方式とファイル内容メモリ渡しの２つのインターフェースをご用意しています。

●メールヘッダを変換して提供

一般に、プログラム経験のある方であれば、容易に使い方をご理解いただけます。

メールのヘッダ部分を変換して取り出しをすることができます。メールヘッダ●コールバック関数の指定の Cc: などに多くの配信先を指定した場合には、複数行におよぶ場合がありまユーザは、ライブラリにコールバック関数を登録することができます。本ライす。本ライブラリは、複数行に及んだ行は連結して 1 行にして結果の提供を行いブラリは、大量の圧縮ファイル展開のために長時間処理を占有する場合があります。また、ヘッダに B- エンコード、あるいは Q- エンコードがあれば、デコードますが、コールバック関数を用いて処理の途中に、中断や Wait の処理を入れるして結果の提供を行います。また、メールの取り出し時の文字コードの指定 ( 後ことができ、CPU の占有を防ぐことができます。

述の language による ) ができますので、ユーザが得られるヘッダ情報は指定さ●マルチスレッドに対応れた漢字コードで得ることができます。

本ライブラリは、CPU 数やコア数に応じてテキスト抽出の分散処理による速度●メール本文を指定の文字コードに変換の向上ができるよう、マルチスレッドに対応しています（マルチスレッドセーフ）。

メール本文のテキスト情報を指定の文字コードで取り●破損ファイル対象時の安全性（Broken Files Safeness）出すことができます。
メール本文が途中で破損し、バイ文書ファイルやテキストファイルは、保存時や複製時にデータの破損事故が発ナリデータが混入していた場合、破損部以外の文字情報生する場合があります。本ソフトウェアが破損したファイルであっても、安全を可能な限り取り出します。また、メールの途中の文字に抽出を継続したり、中断したりできることを確認するために、意図的に破壊コードに異常データ（0x00-0x1f で改行とタブを除く）がしたファイルで網羅的に動作確認を実施しています。当社のこのような破損含まれていてもそれを取り除く処理をします。

ファイルによる安全確認を Broken Files Safeness と呼んでいます。

品質マネジメントシステム ISO 9001:2015 の認証取得

株式会社 データ変換研究所 Dehenken Limited
本社 〒600-8433 京都市下京区高辻通室町西入繁昌町 300 -1 カノン室町四条 308

株式会社データ変換研究所は、2011 年 9 月 27 日付
けで全社統一の品質マネジメントシステムとして

DNV よ り ISO-9001:2008 の 認 証 を 取 得 し ま した。
( 現在は 2015 年版に移行 )TEL 075 - 366 - 4645 FAX 075 - 366 - 4649
横浜営業所 〒231-0048 神奈川県横浜市中区蓬莱町 2 - 4 - 7 澤田聖徳ビル 204

URL : http://www.dehenken.co.jp/ E-Mail : info_ml@dehenken.co.jp
EST D 1999 Dehenken Limited © Copyright Dehenken 2022. All rights reserved.

認証の対象は「ソフトウェアプロダクトのデザイン・開発・製造」です。

Certificate No. : 02523-2011-AQ-KOB-JAB
Initial certification date : 27 September, 2011

デ変研 MFXライブラリ

MFXLibrary開発生産性を高める、メールの使用環境を提供

１つのメールの展開後の結果の表示「result.txt」について

デ変研 MFX ライブラリ（以下、本ライブラリ）を用いてアプリケーションを開発する OEM ユーザを支援するために、開発しやすく工夫した様々な提供を行います。
API 使用時のサンプルソース ( 再利用できる使用権付与 ) もご提供しています。
このときのファイルの判定には拡張子（サフィックス ) の情報を使いません。

１つのメール（eml形式、RFC822）の場合

本ライブラリで対応しているE-Mail形式の対応仕様について

メールヘッダ●メール本文のエンコード

EML / Outlook の MSG 形式（EML は、E-Mail 形式のことで、RFC822 に準拠したものをいいます）

base64、quoted-printable に対応しています。
●添付ファイルのエンコード●複合メール形式

添付ファイルのエンコードは、uuencode(MIME 形式 / 本文埋め込み形式 )、複合メール形式

ヘッダ展開

本文展開

添付展開Mbox 形式 ※1※2○○○

PST (Outlook 32 / 64 bit) 形式※1※3○○○

Becky! 形式○○×※1…複合メール形式から展開した１通の E-Mail 形式のサイズは 2Gbyte まで、またメールの通数は 2147483647(signed int の最大値 ) までとなります。
※2…MBOX 形式に対応しているアプリの１つの例として、Thunderbird があります。
※3…Outlook2002 は、2Gbyte 以上のサイズのファイルへは対応していません。

●圧縮ファイルzip (winzip / pkzip : 圧縮形式 / 自己解凍形式 )lha (lh1 / lh5 / lh6 / lh7 : 圧縮形式 / 自己解凍形式 )tar＋gzip / tgz / gziprar ( 圧縮形式 / 自己解凍形式 )tar＋bz2 / tbz2 / bzip27z ( 圧縮形式 / 自己解凍形式 )※それぞれの圧縮形式において、パスワード付きのものを除きます。

●アーカイブ形式

tar / gnutar●メールヘッダのエンコード
メールヘッダのエンコードは、MIME Q/B 及び RFC2231 に対応しています。

メール本文のエンコードは、エンコードなし (text/plain)base64、quoted-printable、binhex に対応しています。
●パート判別E-Mail 形式におけるパートの判別方式は、From と Date ヘッダがあり、改行が 2つ連続して存在するまでをメールヘッダ、以降をメール本文として扱います。

メール本文及びそれ以降が複数のパートで構成されている場合、後続のパート以降は添付ファイルとして扱います。

●添付ファイル展開
添付ファイルが MS-Office (Word / Excel / PowerPoint) / PDF ファイルなどの場合、デ変研 TF ライブラリと連動して、テキスト抽出後のファイルも取り出すことができます。

●圧縮ファイル展開
添付ファイルが圧縮ファイルであった場合に、圧縮ファイル内を展開して取り出しできます。添付ファイル中にメールファイルの添付や、圧縮内にメールファイ

Red Hat Linux
AS3 / ES3 / WS3 /AS4 / ES4 / WS4 / EL5 /EL6 / EL7 / EL8

Windows

展開した１つのメールファイルのファイル名を指定して API に与え、ライブラリがメール形式や圧縮形式を自動判別し展開します。

●１つのメール展開■対応 OS

2000 / XP / Vista / 7 / 8 / 8.1 / 10 / 11

Windows Server2000 / 2003 / 2008 / 2008R2 / 2012 /2012R2 / 2016 / 2019 / 2022

メールボディ

この zip ファイル内には、

1 つ目の添付ファイル (dehenken_word.doc)
2 つ目の添付ファイル (dehenken_xlsx.zip)

dehenken_xlsx.xlsx を内包

上記１つのメールを本ライブラリが展開した場合、展開後のresult.txt の内容の参照方法
番号TYPELEVEL

L_STRING

備考■対応 C コンパイラ
Windows
Microsoft Visual Studio 2008 以上

LinuxGnu C Compiler(gcc)

■構成
メモリ

1GB 以上500MB 以上

No.0

E-MAIL00

EML ファイル全体

No.1

EML HEADER

11ヘッダ※Windows は、x86 また x64 を

No.2

EML BODY

12本文※Linux は、32bit 版と 64bit 版の両方を

No.3

MS OFFICE

1

3

１つ目の添付

No.4

PKZIP

14

２つ目の添付

No.5

MS OFFICE VISTA XLSX

2

4.1

２つ目の添付の展開後の内容ルがあった場合、もしくは、添付ファイルの中に zip 圧縮があり、そのなかに lha

HDD 利用量対応に含めます。
対応に含めます。
※他の OS・コンパイラ・開発環境下でご不明な点は、お問い合わせください。
※ハードウェアの搭載メモリは推奨 2GB 以上で、メモリ量が多い方が大きな文書に対応できます。

圧縮があるような階層圧縮ファイルも、展開して順に取り出すことができます。

●安全のための限界値設定

result.txtの全内容

メモリ使用制限 (limit_total_memory)
１つのファイルの制限 (limit_one_file)
ファイルの使用制限（limit_total_file)
ヘッダの最大値の指定（limit_eml_header）
メール本文の最大値の指定（limit_eml_body）
メールの入れ子展開の階層指定 (limit_level)
テキストとして取り出す文字コードの指定 (language)

NUM : 6*** No.0 ***TYPE : E-MAIL
DATA_SIZE : 43557
TEXT_SIZE : 0
LEVEL : 0
L_STRING : 0
NAME : (null)
STATUS : 0*** No.2 ***TYPE : EML BODY
DATA_SIZE : 184
DATA_ON_M :out_dir.2228_1456884341/MEMORY/data003
TEXT_SIZE : 168
TEXT_ON_M :out_dir.2228_1456884341/MEMORY/text003
LEVEL : 1
L_STRING : 2
NAME : (null)
STATUS : 0*** No.4 ***TYPE : PKZIPDATA_SIZE : 6383
DATA_ON_M :out_dir.2228_1456884341/MEMORY/data005
TEXT_SIZE : 0
LEVEL : 1
L_STRING : 4
NAME : dehenken_xlsx.zip
STATUS : 0*** No.1 ***TYPE : EML HEADERDATA_SIZE : 897
DATA_ON_M :out_dir.2228_1456884341/MEMORY/data002
TEXT_SIZE : 897TEXT_ON_M :out_dir.2228_1456884341/MEMORY/text002
LEVEL : 1
L_STRING : 1
NAME : (null)
STATUS : 0*** No.3 ***TYPE : MS OFFICEDATA_SIZE : 24064
DATA_ON_M :out_dir.2228_1456884341/MEMORY/data004
TEXT_SIZE : 186
TEXT_ON_M :out_dir.2228_1456884341/MEMORY/text004
LEVEL : 1
L_STRING : 3
NAME : dehenken_word.doc
STATUS : 0*** No.5 ***TYPE : MS OFFICE VISTA XLSXDATA_SIZE : 9363
DATA_ON_M :out_dir.2228_1456884341/MEMORY/data006TEXT_SIZE : 162
TEXT_ON_M :out_dir.2228_1456884341/MEMORY/text006
LEVEL : 2
L_STRING : 4.1
NAME : dehenken_xlsx.xlsx
STATUS : 0

メールと圧縮ファイルの階層展開ライブラリ

デ変研 MFX ライブラリ
本ライブラリは、メールからヘッダ・本文・添付ファイルの情報を取り出す【メール展開（MX）】機能と、圧縮ファイルの展開をする【圧縮展開（FX）】機能を統合したライブラリです。
メールと圧縮ファイルを内部領域に展開し、１つ１つのメールの内部情報を取り出すことができます。
さらに mbox や PST(Outlook) といった複合メール形式にも対応しており、複合形式メールの最終個数を返した後、任意の１つのメールを取り出し、展開することができます。