- mimedecode.py
+ mimedecode
WHAT IS IT
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 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.
+different encodings and charsets. Usually this is good because it allows
+us to 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.
+ Here is the solution - mimedecode.
- 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
-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.
+ 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 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.
+ Think about said mail archive; for example, its maintainer wants to
+put there only texts, convert PDF/Postscript to text, pass HTML and
+images decoding base64 to html but leaving images encoded, and ignore
+everything else. This is how it could be done:
-Version 2.8.0 (2017-10-??)
+ mimedecode -t application/pdf -t application/postscript -t text/plain -b text/html -B 'image/*' -i '*/*'
- Python 3.
- Monkey-patch email.message._formatparam under Python 3:
- replace it with _formatparam from Python 2.7
- to avoid re-encoding non-ascii params.
+Version 3.1.0.post7:
- Fix: do not decode bytes to unicode under Python 2.7.
+ GHActions: Test with Python 3.12.
- Stop supporting Python 2.6.
+Version 3.1.0.post6 (2023-09-17)
- Code cleanup: fixed flake8 errors and warnings.
+ GHActions: Ensure ``pip`` only if needed
- Pushed to GitHub. Tests at Travis.
+ This is to work around a problem in conda with Python 3.7 -
+ it brings in wrong version of ``setuptools`` incompatible with Python 3.7.
+
+Version 3.1.0.post5 (2023-07-07)
+
+ Install all Python and PyPy versions from ``conda-forge``.
+
+Version 3.1.0.post4 (2022-12-15)
+
+ Use ``conda`` to install old Python versions.
+
+Version 3.1.0.post3 (2022-12-02)
+
+ PyPy3.
+
+Version 3.1.0.post2
+
+ Python 3.11.
+
+Version 3.1.0.post1 (2021-09-24)
+
+ GitHub Actions.
+
+ Stop testing at Travis.
+
+Version 3.1.0 (2021-05-23)
+
+ Convert mimedecode.docbook to reST. Generate html/man/text
+ using Sphinx.
+
+ Replaced outdated and insecure `mktemp` with `NamedTemporaryFile`.
+
+ Python 3.8, 3.9.
WHERE TO GET
- Home page: http://phdru.name/Software/Python/#mimedecode
+ Home page: https://phdru.name/Software/Python/#mimedecode
git clone https://github.com/phdru/mimedecode.git
- git clone http://git.phdru.name/mimedecode.git
+ git clone https://git.phdru.name/mimedecode.git
git clone git://git.phdru.name/mimedecode.git
Requires: Python 2.7 or Python 3.4+, m_lib.defenc 1.0+.
Recommends: configured mailcap database.
- Documentation: http://phdru.name/Software/Python/mimedecode.html
+ Documentation: https://phdru.name/Software/Python/mimedecode.html
(also included in the package in html, man and txt formats).
Oleg Broytman <phd@phdru.name>
COPYRIGHT
- Copyright (C) 2001-2017 PhiloSoft Design.
+ Copyright (C) 2001-2022 PhiloSoft Design.
LICENSE
GPL