Releases  
      5.0.0  
   
 
  
  
        
  
  
                    
  
      
    Compare 
      
          
     
 
       
   
 
    
            
        
           
          
            
                
  
                  
                    
                    
                        
                          
     
 
                          Sorry, something went wrong. 
                         
                     
 
  
              
            
              
No results found 
            
          
       
    
 
   
 
  
        Fixed 
The message uid and message number will only be fetched if accessed and wasn't previously set #326  #285  (thanks @szymekjanaczek ) 
Fix undefined attachment name when headers use "filename*=" format #301  (thanks @JulienChavee ) 
Fixed ImapProtocol::logout always throws 'not connected' Exception after upgraded to 4.1.2 #351  
Protocol interface and methods unified 
Strict attribute and return types introduced where ever possible 
Parallel messages during idle #338  
Idle timeout / stale resource stream issue fixed 
Syntax updated to support php 8 features 
Get the attachment file extension from the filename if no mimetype detection library is available 
Prevent the structure parsing from parsing an empty part 
Convert all header keys to their lower case representation 
Restructure the decode function #355  (thanks @istid ) 
 
Added 
Unit tests added #347  #242  (thanks @sergiy-petrov , @boekkooi-lengoo ) 
Client::clone() method added to clone a client instance 
Save an entire message (including its headers) Message::save() 
Restore a message from a local or remote file Message::fromFile() 
Protocol resource stream accessor added Protocol::getStream() 
Protocol resource stream meta data accessor added Protocol::meta() 
ImapProtocol resource stream reset method added ImapProtocol::reset() 
Protocol Response::class introduced to handle and unify all protocol requests 
Static mask config accessor added ClientManager::getMask() added 
An Attribute::class  instance can be treated as array 
Get the current client account configuration via Client::getConfig() 
Delete a folder via Client::deleteFolder() 
 
Breaking changes 
PHP ^8.0.2 required 
nesbot/carbon version bumped to ^2.62.1 
phpunit/phpunit version bumped to ^9.5.10 
Header::get() always returns an Attribute::class instance 
Attribute::class accessor methods renamed to shorten their names and improve the readability 
All protocol methods that used to return array|bool will now always return a Response::class instance. 
ResponseException::class gets thrown if a response is empty or contains errors 
Message client is optional and can be null (e.g. if used in combination with Message::fromFile()) 
The message text or html body is now "" if its empty and not null 
  
 
  
  
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.