Skip to content

Releases: Webklex/php-imap

2.5.1

19 Jun 15:14
Compare
Choose a tag to compare

Fixed

  • Fix setting default mask from config #133 (thanks @shacky)
  • Chunked fetch fails in case of less available mails than page size #114
  • Protocol::createStream() exception information fixed #137
  • Legacy methods (headers, content, flags) fixed #125
  • Legacy connection cycle fixed #124 (thanks @zssarkany)

Added

  • Disable rfc822 header parsing via config option #115

2.5.0

01 Feb 09:55
Compare
Choose a tag to compare

Fixed

  • Attachment saving filename fixed
  • Unnecessary parameter removed from Client::getTimeout()
  • Missing encryption variable added - could have caused problems with unencrypted communications
  • Prefer attachment filename attribute over name attribute #82
  • Missing connection settings added to Folder:idle() auto mode #89
  • Message move / copy expect a folder path #79
  • Client::getFolder() updated to circumvent special edge cases #79
  • Missing connection status checks added to various methods
  • Unused default attribute message_no removed from Message::class

Added

  • Dynamic Attribute access support added (e.g $message->from[0])
  • Message not found exception added #93
  • Chunked fetching support added Query::chunked(). Just in case you can't fetch all messages at once
  • "Soft fail" support added
  • Count method added to Attribute:class
  • Convert an Attribute instance into a Carbon date object #95

Breaking changes

  • A new exception can occur if a message can't be fetched (\Webklex\PHPIMAP\Exceptions\MessageNotFoundException::class)
  • Message::move() and Message::copy() no longer accept folder names as folder path
  • A Message::class instance might no longer have a message_no attribute

2.4.4

22 Jan 21:00
Compare
Choose a tag to compare

Fixed

  • Boundary detection simplified #90
  • Prevent potential body overwriting #90
  • CSV files are no longer regarded as plain body
  • Boundary detection overhauled to support "related" and "alternative" multipart messages #90 #91

2.4.3

21 Jan 19:25
Compare
Choose a tag to compare

Fixed

  • Attachment detection updated #82 #90
  • Timeout handling improved
  • Additional utf-8 checks added to prevent decoding of unencoded values #76

Added

  • Auto reconnect option added to Folder::idle() #89

2.4.2

09 Jan 19:39
Compare
Choose a tag to compare

Fixed

  • Attachment::save() return error 'A facade root has not been set' #87
  • Unused dependencies removed
  • Fix PHP 8 error that changes null back in to an empty string. #88 (thanks @mennovanhout)
  • Fix regex to be case insensitive #88 (thanks @mennovanhout)

2.4.1

06 Jan 14:18
Compare
Choose a tag to compare

Fixed

  • Debug line position fixed
  • Handle incomplete address to string conversion #83
  • Configured message key gets overwritten by the first fetched message #84

2.4.0

03 Jan 21:55
Compare
Choose a tag to compare

Fixed

  • Get partial overview when IMAP::ST_UID is set #74
  • Unnecessary "'" removed from address names
  • Folder referral typo fixed
  • Legacy protocol fixed
  • Treat message collection keys always as strings

Added

  • Configurable supported default flags added
  • Message attribute class added to unify value handling
  • Address class added and integrated
  • Alias Message::attachments() for Message::getAttachments() added
  • Alias Message::addFlag() for Message::setFlag() added
  • Alias Message::removeFlag() for Message::unsetFlag() added
  • Alias Message::flags() for Message::getFlags() added
  • New Exception MessageFlagException::class added
  • New method Message::setSequenceId($id) added
  • Optional Header attribution option added

Breaking changes

  • Stringified message headers are now separated by ", " instead of " ".
  • All message header values such as subject, message_id, from, to, etc now consists of an Àttribute::class instance (should behave the same way as before, but might cause some problem in certain edge cases)
  • The formal address object "from", "to", etc now consists of an Address::class instance (should behave the same way as before, but might cause some problem in certain edge cases)
  • When fetching or manipulating message flags a MessageFlagException::class exception can be thrown if a runtime error occurs
  • Learn more about the new Attribute class here: www.php-imap.com/api/attribute
  • Learn more about the new Address class here: www.php-imap.com/api/address
  • Folder attribute "referal" is now called "referral"

2.3.1

30 Dec 23:55
Compare
Choose a tag to compare

Fixed

  • Missing RFC attributes added
  • Set the message sequence when idling
  • Missing UID commands added #64

Added

  • Get a message by its message number
  • Get a message by its uid #72 #66 #63

2.3.0

21 Dec 19:02
Compare
Choose a tag to compare

Fixed

  • Cert validation issue fixed
  • Allow boundaries ending with a space or semicolon (thanks @smartilabs)
  • Ignore IMAP DONE command response #57
  • Default options.fetch set to IMAP::FT_PEEK
  • Address parsing fixed #60
  • Alternative rfc822 header parsing fixed #60
  • Parse more than one Received: header #61
  • Fetch folder overview fixed
  • Message::getTextBody() fallback value fixed

Added

  • Proxy support added #53 (thanks @consigliere23)
  • Flexible disposition support added #58
  • New options.message_key option uid added
  • Protocol UID support added
  • Flexible sequence type support added

Breaking changes

  • Depending on your configuration, your certificates actually get checked. Which can cause an aborted connection if the certificate can not be validated.
  • Messages don't get flagged as read unless you are using your own custom config.
  • All Header::class attribute keys are now in a snake_format and no longer minus-separated.
  • Message::getTextBody() no longer returns false if no text body is present. null is returned instead.

2.2.5

11 Dec 01:18
Compare
Choose a tag to compare

Fixed

Added

  • Force a folder to be opened