public function run() : \Jyxo\Beholder\Result
{
// The imap extension is required
if (!extension_loaded('imap')) {
return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::NOT_APPLICABLE, 'Extension imap missing');
}
// Label for status
$description = sprintf('%s@%s:%s', $this->user, $this->host, $this->port);
$imap = imap_open('{' . $this->host . ':' . $this->port . '/' . (!$this->validateCert ? 'no' : '') . 'validate-cert}', $this->user, $this->password, OP_HALFOPEN, 1);
if (false === $imap) {
return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::FAILURE, sprintf('Connection error %s', $description));
}
imap_close($imap);
return new \Jyxo\Beholder\Result(\Jyxo\Beholder\Result::SUCCESS, $description);
}