Description
Install
Uninstall
Usage
Background information about the mbox format
Features
Settings in the INI file
Example : Moving mail files to Thunderbird
References
Credits
License
Contact
eml2mbx is a program for Windows 95/98/ME/NT/2000/XP/Vista, that packs separate plain text e-mail files (including all attachments) into mbox files, see also Examples of e-mail conversion.
No installation required, just unpack the files in the
ZIP archive to a directory on your hard disk or e.g. on your USB flash
drive. Change the settings in the INI file if
you want.
eml2mbx doesn't add entries to the Windows
registry, nor does it alter anything else on the system.
Just delete the files.
Plain text e-mail files (according to RFC 2822
[4]) typically have the extension EML or MSG. This
is just a convention. eml2mbx can process all
these files, it's not necessary to rename them beforehand. The mail
files remain unchanged.
Command: eml2mbx <file specification> <output directory> [options]
( Example: eml2mbx c:\temp\private\*.eml c:\data\ /p /a )
In the file specification, use
*.*
for all files. With
*
or
*.
you'll get all files without extension.
eml2mbx packs all valid e-mail files, that match the
given specification, into one (or more) mbox file(s) in the output directory.
The directory will be created, if necessary. The mbox files will be named after
their corresponding source directories. You can specify a file extension of your
choice in the INI file.
Options:
/p
In case of an error, the program does not ask the user but writtes the message to the file
%TEMP%\eml2mbx.log
and tries to proceed.
/i
The program starts as an icon in the taskbar.
/a
The mails will be appended to existing mbox files with the same name, rather than
overwrite them.
/s
E-mail files are collected recursively from all subdirectories.
By default, the mails from each subdirectory are packed to an individual mbox file.
The created directory structure is the same as used by Thunderbird.
/d
This option only has an effect in combination with option /s:
When using /d, the mails from all subdirectories are
packed together into the same mbox file.
You can combine the options like you want.
When the program ends, it returns one of the following status codes to
the operating system. E.g. batch programs can read this value using the
ERRORLEVEL feature (works on Windows XP, but for some reason not on
Windows 98):
0 Programm successfully
completed.
1 No matching file
found.
2 One or more errors
occured, or the user has prematurely terminated the program.
3 A severe error occured, so
that the program had to be aborted.
This is a common format for storage of mail messages.
There is no precise specification of it, though. An 'mbox' is a text
file containing an arbitrary number of e-mail messages. Each message is
preceded by a 'postmark', and the messages are formatted according to
RFC 2822 [4]. The file format is line-oriented.
The 'postmark' is a line that begins with the string "From "
(note the space!), not followed by a colon.
eml2mbx writes
From support@localhost Sat Jan 01 12:00:00 2000
as separator line between the messages. Most programs use postmarks that
are built after the same pattern. However, some programs create unusual
postmarks, which are not recognized by some other programs.
eml2mbx normally packs mail files unaltered into mbox
files. Because a "From " line sometimes is a normal line in the text
body of a mail (e.g. "From now on ..."), this way it's possible that
later some programs confuse these text lines with the "From " lines that are
used as separators, and so don't recognize the begin of a new message inside
an mbox file correctly. Therefore it's possible to choose respective settings
in the INI file, so that eml2mbx
will change "From " lines in the text body of mails.
eml2mbx can read mail files that contain
DOS/Windows line breaks (pairs of ASCII characters 13 and 10), UNIX
– including Linux and FreeBSD – line
breaks (ASCII 10), or Macintosh line breaks (ASCII 13), even when these
are intermixed in the same file. The generated mbox files contain
only DOS/Windows line breaks, and each file ends with a line break.
eml2mbx locks the mbox files while it writes
to them, so that they can't be altered by other programs at the same time.
The program can create mbox files up to a size of 2 GiB.
By means of the optional INI file, the user can change some settings. The file
must be in the same directory as the program eml2mbx,
and its name must be "eml2mbx.ini".
Example of a file "eml2mbx.ini":
-------------------------------------------
[FromLines]
ChangeAllowed=true
DoNotChange-Begin=-----BEGIN PGP*
DoNotChange-End=-----END PGP*
[Names]
MboxExtension=.mbx
FolderExtension=
-------------------------------------------
Section [FromLines]
ChangeAllowed (default: false)
Possible values are false and
true.
When using false, the mails will always be packed
unchanged into the mbox files.
When using true, eml2mbx
puts a space in front of "From " lines in the text body of packed
mails.
Because this way digital signatures of mails might become invalid,
certain areas of e-mails can be prevented from changes by means of the following
two settings.
DoNotChange-Begin (default: empty)
Defines the beginning of areas in e-mails, which remain unchanged even if
ChangeAllowed=true.
DoNotChange-End (default: empty)
Defines the end of areas in e-mails, which remain unchanged even if
ChangeAllowed=true.
* matches any zero or more characters.
? matches any single character.
Character comparisons are case sensitive.
So if in the example above a line in an e-mail begins with
-----BEGIN PGP
then eml2mbx will not alter subsequent lines,
until there comes another line that begins with
-----END PGP
You can use the files "Nice day_1.eml" and "Nice day_2.eml"
to test the effects of particular settings in the
[FromLines] section.
Section [Names]
MboxExtension (default: .mbx)
You can write an arbitrary file extension here, it will be used for all
generated mbox files.
FolderExtension (default: empty)
The extension given here is used for the subfolders, which are generated by
the command-line option /s.
In order to avoid naming conflicts, this extension must not be equal to the
one used for MboxExtension.
In order to disable an option in the INI file, just turn it into a
comment by putting a semicolon at the beginning of the line. When you
only want to use the default settings of the program, you also can
delete the INI file.
Plain text e-mail files may originate e.g. from
Outlook Express, Phoenix Mail or
DreamMail, or an existing archive might
contain messages in this form (see also
Examples of e-mail conversion).
The settings in the [Names] section of
eml2mbx's INI file should
be:
MboxExtension=
FolderExtension=.sbd
In order to create new Thunderbird folders, firstly use
eml2mbx to pack the concerning mails into new mbox
files. Quit Thundrbird if it is running, and then move the produced mbox files
to the directory
Mail\Local Folders\
of the desired profile. If you have generated mbox files in subdirectories by
using switch /s, then take care not to destroy the
directory structure when moving the files.
In order to import mails to existing Thunderbird folders, the easieast
way is to act as just described, and then move the mails inside of
Thunderbird.
Mbox format
[1] http://www.faqs.org/rfcs/rfc4155.html
[2] http://www.qmail.org/man/man5/mbox.html
[3] http://en.wikipedia.org/wiki/Mbox
Internet message format
[4] http://www.faqs.org/rfcs/rfc2822.html
The program was written in
Euphoria, and translated using the Euphoria To C Translator 3.1.1.
Thanks to RDS for this good, free and open-source general purpose
programming language, and for outstanding support.
The program uses the Euphoria programming library ARWEN 0.93c. Thanks to
Michael <vulcan {AT} win.co {DOT} nz>.
The generated C code was compiled with the
Borland C++ 5.5.1 Command-line Compiler. Thanks to Borland Software
Corporation for providing this powerful tool free of charge.
For bug reports I want to thank Erik Kerger and Heinz Barsties.
If you do not accept the following license, then you are
not allowed to use or distribute this software.
1. Copyright
eml2mbx is copyright 2002-2007 by the author
Jürgen Lüthje, all rights are reserved.
2. Right to use
eml2mbx is freeware. You may use the program
free of charge and unlimited in time.
3. Copying
You may copy and distribute the software and its documentation, as long
as the file eml2m065_en.zip is not modified.
This means, among other things, that you are not allowed to rename the
file, or split it into pieces.
Without express written permission from the author, you are not allowed
to distribute the program included in another archive or file.
You are not allowed to sell the program, or to enclose it with a
commercial program or a commercial collection of programs. The program
may be distributed as part of freeware/shareware collections, e.g. on
accompanying CDs/DVDs of computer magazines, though.
4. Support
You are not entitled to support by the author. However, the author tries
to answer inquiries by e-mail.
5. Disclaimer
This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The author does not accept responsibility or liability for any effects,
adverse or otherwise, that this code may have on you or your computer.
Use it at your own risk.
This software can be downloaded from
http://luethje.eu/prog/. If you are in doubt whether you have got
an original, unaltered copy of the file
eml2m065_en.zip, calculate its
MD5 checksum. It must be equal to the one published on my
website.
Please send questions, suggestions, and bug reports to
<support {AT} luethje {DOT} eu>.
J. Lüthje, 16. December 2007