/** * @param string $sFromFolder * @param string $sToFolder * @param array $aIndexRange * @param bool $bIndexIsUid * @param bool $bUseMoveSupported = false * * @return \MailSo\Mail\MailClient * * @throws \MailSo\Base\Exceptions\InvalidArgumentException * @throws \MailSo\Net\Exceptions\Exception * @throws \MailSo\Imap\Exceptions\Exception */ public function MessageMove($sFromFolder, $sToFolder, $aIndexRange, $bIndexIsUid, $bUseMoveSupported = false) { if (0 === \strlen($sFromFolder) || 0 === \strlen($sToFolder) || !\is_array($aIndexRange) || 0 === \count($aIndexRange)) { throw new \MailSo\Base\Exceptions\InvalidArgumentException(); } $this->oImapClient->FolderSelect($sFromFolder); if ($bUseMoveSupported && $this->oImapClient->IsSupported('MOVE')) { $this->oImapClient->MessageMove($sToFolder, \implode(',', $aIndexRange), $bIndexIsUid); } else { $this->oImapClient->MessageCopy($sToFolder, \implode(',', $aIndexRange), $bIndexIsUid); $this->MessageDelete($sFromFolder, $aIndexRange, $bIndexIsUid, true); } return $this; }