Releases: Enough-Software/enough_mail
Releases · Enough-Software/enough_mail
v1.3.5
v1.3.4
v1.3.3
- Add easier method to setup a
MailAccount
with manual settings by callingMailAccount.fromManualSettings()
orMailAccount.fromManualSettingsWithAuth()
. This is useful when settings cannot or should not be auto-discovered, for example.
v1.3.2
v1.3.1
- Always quote user name and password in IMAP login, #158
- Thanks to fttx2020 we have these great improvements:
- Fix for POP3 UID LIST command
- Fix parsing of POP3 responses
- Handle more Chinese character encodings
- Handle some base64 text variations better
SmtpException
s now contain the full error description
v1.3.0
- Support read receipts #149
- Check if a message contains a read receipt request with
MimeMessage.isReadReceiptRequested
- Generate a read request response with
MessageBuilder.buildReadReceipt()
- Check if a message contains a read receipt request with
- Support Windows-1256 encoding
- Add another message as an attachment with
MessageBuilder.addMessagePart()
#153 - Easily retrieve all leaf parts after loading
BODYSTRUCTURE
withMimeMessage.body.allLeafParts
- Fix for responses with a line break spread around 2 chunks #140
- Improve identification of message parts with their
fetchId
#141 #143 - Thanks to A.Zulli again! - Messages are now send with
utf-8
rather thanutf8
to reduce problems #144 - Thanks to gmalakov - Fix for responses with a literal
{0}
response #145 - Better detection of plain text messages thanks to castaway
v1.2.2
- Assume
8bit
encoding when nocontent-transfer-encoding
is specified in a MIME message. - Exclude empty address-lists when building a message with
MessageBuilder
. - Retrieve a MIME part wit the fetchId
1
correctly. ImapClient.idleStart()
throws an error when no mailbox is selected.MailClient.fetchMessageContents()
allows you to specify which media types you want to include with theincludedInlineTypes
parameter, e.g.final mime = await mailClient.fetchMessageContents(envelopeMime, includedInlineTypes: [MediaToptype.image]);
.- Convenience improvements:
- Select a mailbox just by it's flag like
MailboxFlag.sent
withMailClient.selectMailboxByFlag(MailboxFlag)
method. - Check if an email address contains a personal name with
MailAddress.hasPersonalName
getter.
- Select a mailbox just by it's flag like
v1.2.1
- Handle raw data in parameter values of IMAP
FETCH
responses.
v1.2.0
v1.1.0
- Thanks to A.Zulli the
UNSELECT
IMAP command of rfc3691 is now supported withImapClient.unselectMailbox()
. - Support THREAD IMAP Extension with
ImapClient.threadMessages()
anduidThreadMessage()
as well as the high level APIMailClient.fetchThreads()
andfetchThreadData()
, the latter can set theMimeMessage.threadSequence
automatically. #44 - Access embedded
message/rfc822
messages usingmimePart.decodeContentMessage()
. #138 - Added
SearchQueryType.toOrFrom
to easily search for recipients or senders of a message. - All Mailbox commands now return the mailbox in question, not the currently selected mailbox.
- Improve automatic reconnects in high level
MailClient
API. - Added high level OAuth login option and
MailAccount.fromDiscoveredSettingsWithAuth()
for easy setup. #137 - Appending a message will now return the new UID of that message.
- Continue editing a draft easily by calling
MessageBuilder prepareFromDraft(MimeMessage draft)
. - You now easier load the next page of of search using
MailClient.searchMessagesNextPage(MailSearchResult)
. - Improve null-safety.
- Breaking API changes:
- To align with Dart APIs,
MessageSequence.isEmpty
andisNotEmpty
are now getters and not methods anymore. So instead ofif (sequence.isEmpty())
please now useif (sequence.isEmpty)
, etc. - Date headers are always decoded to local time. Instead of
mimeMessage.decodeDate().toLocal()
now just callmimeMessage.decodeDate()
. - High level API
MailSearchResult
has been refactored to usePagedMessageSequence
.
- To align with Dart APIs,