- 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 DockYard#178
- Fix quoted-printable encoding of reserved characters DockYard#176
- Updates to documentation with doctests
- Change date parser to return {:error, date_text} when date is unparsable DockYard#169
- Ignore space between two encoded words (as per RFC 2047) DockYard#168
- Change order of part lookup to match RFC 2046, §5.1.4 DockYard#167
- Fix 8-bit decoding to preserve line breaks but restore wrapping DockYard#166
- Fix 7-bit decoding to preserve line breaks but restore wrapping DockYard#164
- Fix decoding of encoded words with spaces DockYard#160
- Default to UTF-8 charset DockYard#162
- Add support for case insensitive headers DockYard#161
- Fix get_attachments/1 for attachments without filename prop DockYard#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 DockYard#145
- Handle strings that appear to be quoted printable but are not DockYard#141
- Provide default charset when no charset specified DockYard#144
- Fix handling obsolete timezone (UT) in obsolete date/time format DockYard#143
- Split encoded words on headers DockYard#134
- Add support for incorrect case in date parsing DockYard#132
- Support quoted-printable encoding in message headers DockYard#131
- Documentation updates
- Handle parsing a recipient name which is an email address DockYard#123
- Add charset option to text, html part DockYard#122
- Add support for custom headers on attachments DockYard#120
- Add support for part without body DockYard#115
- Add support for multiple values in the content-type header in Mail.get_text DockYard#108
- Fix for #105 where put_text/2 would replace plain text attachment DockYard#106
- RFC2822 parse recipient value is now part of public API DockYard#104
- Various fixes for bugs found in parsing real email DockYard#100
- Various fixes for handling dates in headers
- Update parsing Received header to handle invalid/missing date part DockYard#96
- Add allowance for optional seconds and handle invalid hour in time DockYard#95
- Fix loop in Mail.Renderers.RFC2822.render_header/2 DockYard#93
- Fix invalid base64 encoding which broke in earlier version of Erlang DockYard#91
- Add support the Encoded Word RFC 2047 DockYard#90
- Retail all "received" headers DockYard#89
- Fix quoted-printable encoding DockYard#83
- Optimized quoted-printable encoder to reduce memory usage DockYard#87
- Update RFC2822 email regex with a better one DockYard#86
- Breaking - All message props are now binaries DockYard#69
- removed
Mail.Message.has_attachment?
andMail.Message.has_text_part?
DockYard#74 - added
Mail.has_attachments?
andMail.has_text_parts?
DockYard#74 - added
Mail.get_attachments
DockYard#75 - Allow RFC2822 email regex to be overridden by config DockYard#73
- Allow
Mail.put_attachment
to use in-memory data in tuple DockYard#58 - Support obsolete timestamps DockYard#70
- Fix test suite for Elixir 1.4+ DockYard#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