PMailServer2 開発者向け情報

以下の情報の利用に関しては利用者自身の責任において使用して下さい。
ファイルフォーマットに関しての質問は受け付けますが、フォーマットの変更。利用する為のツールの作成などは要望は受け付けておりません。

以下の形式内で String と表記されている箇所は Pascal 形式での文字列領域です。
String[10] の場合は
[文字列長][文字1][文字2][文字3][文字4][文字5][文字6][文字7][文字8][文字9][文字10]
と格納されています。String[10] に文字列が PMSRV が格納されている場合は[0x05][P][M][S][R][V][不定][不定][不定][不定][不定]
となります。必ずしも Null Terminate されているとは限りませんので C言語で利用される方はご注意下さい。
Boolean (真偽)は True の場合は 0x01 False の場合は 0x00 が格納されます。


PMailServer2 で利用されているファイルフォーマット。

●通常配信用 IMDファイルフォーマット(Version 2.43以前)

送信フラグWORD
bit 単位で下記を指定
1bit ...送信先(0...Local Host への強制送信、1...外部への送信)
2byte
送信元のエイリアスString[64]65byte
送信元のドメインString[64]65byte
メールIDString[64]65byte
送信先のエイリアスString[64]65byte
送信先のドメインString[64]65byte
予約WORD2byte
予約String[64]65byte
予約String[64]65byte
予約String[64]65byte
予約String[64]65byte
予約Boolean1byte
予約byte1byte
予約byte1byte
予約WORD2byte
予約WORD2byte
予約WORD2byte
予約WORD2byte
予約WORD2byte
予約WORD2byte

●通常配信用 IMDファイルフォーマット(Version 2.44以降)

送信フラグWORD
bit 単位で下記を指定
1bit ...送信先(0...Local Host への強制送信、1...外部への送信)
2bit ...転送指定(0...転送データ無し、転送データ有り)
3bit ...認証指定(0...認証データ無し、認証データ有り)
4bit ...以降 Reserved.
2byte
送信元のエイリアスString[64]65byte
送信元のドメインString[255]256byte
メールIDString[64]65byte
送信先のエイリアスString[64]65byte
送信先のドメインString[255]256byte
ポート番号WORD2byte
予約String[64]65byte
変換ドメイン名String[64]65byte
認証用アカウントデータString[128]129byte
認証用パスワードデータString[128]129byte
DNS参照Boolean1byte
認証を使用byte1byte
プロトコル指定byte1byte
送信(年)WORD2byte
送信(月)WORD2byte
送信(日)WORD2byte
予約WORD2byte
送信(時)WORD2byte
送信(分)WORD2byte

IMD ファイルは MTA が処理を行う為に必要な情報を記録したファイルです。spool フォルダへ、IMD ファイルと EMLファイル(メール本文)を置くことにより PMailServer2 が自動でメールを配信します。

メールヘッダに関しては別途RFCを参照して下さい。

EPF ファイル
ヘッダChar[4] "PHDF"
Reserved 1Byte (0で予約)
FilenameString[255]
FileSizeDWORD (展開時ファイルサイズ)
CompressSizeDWORD (圧縮時ファイルサイズ)
Compress MethodByte 0...Deflate圧縮
SHA1 Digest_Achar[16] (オリジナルのSHA1ハッシュ値)
SHA1 Digest_Bchar[16] (圧縮後のSHA1ハッシュ値)
データ部Inflate圧縮され CompressSize 分データが続きます
EPF ファイルは上記の繰り返しとなります。ヘッダ部はファイル毎に付きます。