Mail users, especially in non-English countries, often find that mail
messages arrived in different formats, with different content types, in
different encodings and charsets. Usually this is good because it allows us to
-use apropriate format/encoding/whatever. Sometimes, though, some unification is
-desireable. For example, one may want to put mail messages into an archive,
-make HTML indicies, run search indexer, etc. In such situations converting
-messages to text in one character set and skipping some binary atachmetnts is
-much desireable.
+use appropriate format/encoding/whatever. Sometimes, though, some unification
+is desirable. For example, one may want to put mail messages into an archive,
+make HTML indices, run search indexer, etc. In such situations converting
+messages to text in one character set and skipping some binary attachments is
+much desirable.
Here is the solution - mimedecode.py.
This is a program to decode MIME messages. The program expects one input
-file (either on command line or on stdin) which is treated as an RFC822 mesage,
-and decoded to stdout. If the file is not an RFC822 message it is just piped to
-stdout one-to-one. If the file is a simple RFC822 message it is just decoded as
-one part. If it is a MIME message with multiple parts ("attachments") all parts
-are decoded. Decoding can be controlled by command-line options.
+file (either on command line or on stdin) which is treated as an RFC822
+message, and decodes to stdout or an output file. If the file is not an RFC822
+message it is just copied to the output one-to-one. If the file is a simple
+RFC822 message it is decoded as one part. If it is a MIME message with multiple
+parts ("attachments") all parts are decoded. Decoding can be controlled by
+command-line options.
-WHAT'S NEW in version 2.3.1 (2014-01-31)
- Update documentation.
-WHAT'S NEW in version 2.3.0 (2014-01-30)
- Add option -o and output_file argument.
+Version 2.6.0 (2014-06-08)
- Forbid filtering from console to console. When the program runs
- with no parameters and without any redirection it shows usage help.
+ Make options -e/-i to work with multipart subparts.
-WHAT'S NEW in version 2.2.0 (2013-12-21)
- Rename __version__.py to mimedecode_version.py.
+ Add option -I to completely ignore a part - no headers, no body,
+ no warning.
- Use setuptools.
+ Open all output files in binary mode. Output os.linesep instead of '\n'.
+
+ Test --save-headers|body|message masks one after another to allow
+ saving a message or a subpart to more than one file.
+
+WHAT'S NEW in version 2.5.0 (2014-03-18)
+
+ Add option --set-header=header:value to set header's value (only at the top
+level).
+
+ Add option --set-param=header:param=value to set header parameter's value
+(only at the top level). The header must exist.
+
+ Add option -B to skip content-transfer-decoding binary attachments.
+
+ Add options --save-headers, --save-body and --save-message to save decoded
+headers/bodies/messages to files.
+
+ Add option -O to set the destination directory for output files.
+
+ Fix a minor bug: if a multipart message (or a subpart) lacks any textual
+content - avoid putting an excessive newline.
WHERE TO GET
git clone http://git.phdru.name/mimedecode.git
git clone git://git.phdru.name/mimedecode.git
- Requires: Python 2.2.2+
+ Requires: Python 2.2.2+, m_lib 2.0+.
Recommends: configured mailcap database.
- Documentation (also included in the package):
- http://phdru.name/Software/Python/mimedecode.txt
-
+ Documentation: http://phdru.name/Software/Python/mimedecode.html
+ (also included in the package in html, man and txt formats).
AUTHOR
Oleg Broytman <phd@phdru.name>
COPYRIGHT
- Copyright (C) 2001-2014 PhiloSoft Design
+ Copyright (C) 2001-2014 PhiloSoft Design.
LICENSE
GPL