/** * This function is used to enable or disable a flag on the imap message. * * @param string $flag Flagged, Answered, Deleted, Seen, Draft * @param bool $enable * * @throws \InvalidArgumentException */ public function setFlag($flag, $enable = true) { if (!in_array($flag, $this->flag_types) || $flag == 'recent') { throw new \InvalidArgumentException('Unable to set invalid flag "' . $flag . '"'); } $flag = '\\' . ucfirst($flag); if ($enable) { $this->imap->setFlag($this->imap_stream, $this->uid, $flag, ST_UID); } else { $this->imap->clearFlag($this->imap_stream, $this->uid, $flag, ST_UID); } }