Skip to content

Releases: Enough-Software/enough_mail

v1.3.5

13 Jul 14:41
Compare
Choose a tag to compare
  • Add bool Function(X509Certificate)? onBadCertificate callback to handle invalid certificates #167
  • Stop polling when disconnecting high level MailClient
  • Ignore subsequent IDLE requests when already in idle mode in ImapClient
  • Improve documentation

v1.3.4

16 Jun 13:46
Compare
Choose a tag to compare
  • Fix some IMAP mailbox commands when there is no mailbox selected: #160 #164 #165

v1.3.3

13 Jun 14:06
Compare
Choose a tag to compare
  • Add easier method to setup a MailAccount with manual settings by calling MailAccount.fromManualSettings()
    or MailAccount.fromManualSettingsWithAuth(). This is useful when settings cannot or should not be auto-discovered, for example.

v1.3.2

08 Jun 09:50
Compare
Choose a tag to compare
  • Fix login for IMAP servers that do not define capabilities in their AUTH/LOGIN response #159

v1.3.1

03 Jun 08:57
Compare
Choose a tag to compare
  • 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
  • SmtpExceptions now contain the full error description

v1.3.0

24 May 20:29
Compare
Choose a tag to compare
  • Support read receipts #149
    • Check if a message contains a read receipt request with MimeMessage.isReadReceiptRequested
    • Generate a read request response with MessageBuilder.buildReadReceipt()
  • Support Windows-1256 encoding
  • Add another message as an attachment with MessageBuilder.addMessagePart() #153
  • Easily retrieve all leaf parts after loading BODYSTRUCTURE with MimeMessage.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 than utf8 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

15 Apr 06:54
Compare
Choose a tag to compare
  • Assume 8bit encoding when no content-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 the includedInlineTypes 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 with MailClient.selectMailboxByFlag(MailboxFlag) method.
    • Check if an email address contains a personal name with MailAddress.hasPersonalName getter.

v1.2.1

10 Apr 08:15
Compare
Choose a tag to compare
  • Handle raw data in parameter values of IMAP FETCH responses.

v1.2.0

09 Apr 13:27
Compare
Choose a tag to compare
  • Thanks to KevinBLT mime messages will now always have a valid date header.
  • The high level search API has been extended and access simplified
  • The high level thread API has been simplified

v1.1.0

07 Apr 18:59
Compare
Choose a tag to compare
  • Thanks to A.Zulli the UNSELECT IMAP command of rfc3691 is now supported with ImapClient.unselectMailbox().
  • Support THREAD IMAP Extension with ImapClient.threadMessages() and uidThreadMessage() as well as the high level API MailClient.fetchThreads() and fetchThreadData(), the latter can set the MimeMessage.threadSequence automatically. #44
  • Access embedded message/rfc822 messages using mimePart.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 and isNotEmpty are now getters and not methods anymore. So instead of if (sequence.isEmpty()) please now use if (sequence.isEmpty), etc.
    • Date headers are always decoded to local time. Instead of mimeMessage.decodeDate().toLocal() now just call mimeMessage.decodeDate().
    • High level API MailSearchResult has been refactored to use PagedMessageSequence.