- Update header parsing to decode encoded words after parsing the header (RFC 2047) #181
- Refactor RFC2822 datetime parser and assume unknown named timezones are UTC #183
- Encoded strings that are not valid UTF-8 are now decoded to binary (as-is) rather than raising an error
- Add
charset_handler
option toMail.Parsers.RFC2822
to allow custom charset handling #178
- Fix quoted-printable encoding of reserved characters #176
- Updates to documentation with doctests
- Change date parser to return {:error, date_text} when date is unparsable #169
- Ignore space between two encoded words (as per RFC 2047) #168
- Change order of part lookup to match RFC 2046, §5.1.4 #167
- Fix 8-bit decoding to preserve line breaks but restore wrapping #166
- Fix 7-bit decoding to preserve line breaks but restore wrapping #164
- Fix decoding of encoded words with spaces #160
- Default to UTF-8 charset #162
- Add support for case insensitive headers #161
- Fix get_attachments/1 for attachments without filename prop #154
- Add DateTime and time zone support to date parsing/rendering
- Add Mail.parse/2 with default RFC2822 parser
- Use a binary accumulator in QuotedPrintable encoder to reduce memory #145
- Handle strings that appear to be quoted printable but are not #141
- Provide default charset when no charset specified #144
- Fix handling obsolete timezone (UT) in obsolete date/time format #143
- Split encoded words on headers #134
- Add support for incorrect case in date parsing #132
- Support quoted-printable encoding in message headers #131
- Documentation updates
- Handle parsing a recipient name which is an email address #123
- Add charset option to text, html part #122
- Add support for custom headers on attachments #120
- Add support for part without body #115
- Add support for multiple values in the content-type header in Mail.get_text #108
- Fix for #105 where put_text/2 would replace plain text attachment #106
- RFC2822 parse recipient value is now part of public API #104
- Various fixes for bugs found in parsing real email #100
- Various fixes for handling dates in headers
- Update parsing Received header to handle invalid/missing date part #96
- Add allowance for optional seconds and handle invalid hour in time #95
- Fix loop in Mail.Renderers.RFC2822.render_header/2 #93
- Fix invalid base64 encoding which broke in earlier version of Erlang #91
- Add support the Encoded Word RFC 2047 #90
- Retail all "received" headers #89
- Fix quoted-printable encoding #83
- Optimized quoted-printable encoder to reduce memory usage #87
- Update RFC2822 email regex with a better one #86
- Breaking - All message props are now binaries #69
- removed
Mail.Message.has_attachment?
andMail.Message.has_text_part?
#74 - added
Mail.has_attachments?
andMail.has_text_parts?
#74 - added
Mail.get_attachments
#75 - Allow RFC2822 email regex to be overridden by config #73
- Allow
Mail.put_attachment
to use in-memory data in tuple #58 - Support obsolete timestamps #70
- Fix test suite for Elixir 1.4+ #67
- Moved API to using strings instead of atoms
- Parser and Renderer should handle reply-to header
- API is stable enough for a minor version release
- Resolved Elixir 1.3 warnings
- Began multipart support. The
Mail
struct can have multiple "parts". EachMail.Part
can have multiple "parts". - Added RFC2822 Renderer
- Added RFC2822 Parser