mess822x
What is mess822x?
Dan Bernstein published mess822 in 1998 in order to provide a framework for parsing the SMTP email header together with some more gadgets for qmail. This package was released 2011 into the public domain and to my knowledge nobody cared about it anymore. However, in spite of SPF, DKIM, and DMARC (ARC) message header fields it becomes increasingly important to digest an email correctly.
My mess822x is an enhancement while providing the following
Features
- mess822x comes in the common /slashpackage format for easy installation.
- mess822x is now based upon my fehQlibs.
- Some enhancements have been included covering the current standard of RFC 5322 headers, in particular the new key/value scheme.
- In 822field the matching algorithm has been improved to cope with current implementations.
- Now, with version 1 mess882x includes a MIME parser and understands RFC 2047 generated header lines.
- BASE64 and quoted-printable attachments are treated now using an included generic BASE64 and quoted-printable decoder/encoder: 822mimeparts.
The mess822x package and its qmail addons should work well with vanilla qmail and s/qmail. In fact, its message header parsing functions are not depending on anything.
A new routine routine ifvalidto has been added to be used in a .qmail file for primitive but effective spam rejection.
Sources
Version & Download | Description | fehQlibs version | Verification |
---|---|---|---|
mess822x 1.22 | The eights release is RFC 2045/2047/4648 compliant and enables MIME part decomposition while its BASE64/QP de/encoding is standard now for all header lines. | fehQlibs-25+ | MD5: f286e07b060012a2ba6d00dd634ee87b Build: 20250106170059 |
mess822x 0.70 | The fourth release includes the verbosity patch from George Matsumara. | fehQlibs-25+ | MD5: b9615437c7548e22143f94ad6c52bacb Build: 20240914121611 |
mess822x 0.69 | The third release; DKIM and SPF headers now considered. | fehQlibs-25 | MD5: 088b22638ee9a45330a8756f16dcfe98 Build: 20240824153252 |
mess822x 0.67 | The second release; condensed WSPs, Win/DOS saved message compatibility. | > fehQlibs-16 | MD5: b7f77c6e5769242ce8709cefbf08ffe6 Build: 20201228200100 |
mess822x's source files are documented in doxygen.
Documentation
Currently, there isn't much documentation about mess822x except for the embedded one:
For further discussions see:
- DjB: Internet mail message header format
- DJB: mess822: The original program.
Man pages
mess822 programs | mess822 library functions | (s/)qmail and documentation | |
---|---|---|---|
822body | mess822 | iftocc | |
822date | mess822_addr | ifvalidto | |
822field | mess822_base64 | new-inject | |
822header | mess822_date | ofmidpd | |
822mimeparts | mess822_fold | ofmidpname | |
822print | mess822_qp | ||
822received | mess822_quote | config | |
b64decode | mess822_token | commands | |
b64encode | mess822_when | ||
qpdecode | rewirtehost | ||
qpencode | rewriting |
Example to use 822field to retrieve DMARC fields in messages
Here, we use the extended feature of 822field in order to retrieve the DMARC header fields from 'message':
How to install mess822x
Prior of installing mess822x you need to install the fitting fehQlibs. Please follow instructions here.
- mess822x uses D.J. Bernstein's /package conventions for installation.
- Typically, un-tar the archive under /package, change to mail/mess822x/mess822x-<version> and call package/install.
- mess822x is pre-packaged to be 64 bit clean and comes with additional man-pages.
- A current leapsecs.dat file will be installed in /etc.
Tickets, Change Requests, communication
An EZMLM mailing list keeps you updated with current developments, bug fixes, and features discussed. This list also can be used to file
- Defects (bug reports) and
- Change Requests (enhancements).
To inscribe use the: s/qmail mailing list
As usual, I can't guarantee a certain response level; but reasonable issues will be answered.