private function EmailVerifyManager::connect in Email Verify 8.2
2 calls to EmailVerifyManager::connect()
- EmailVerifyManager::checkEmail in src/EmailVerifyManager.php
- EmailVerifyManager::checkHost in src/EmailVerifyManager.php
File
- src/EmailVerifyManager.php, line 176
- Contains \Drupal\email_verify\EmailVerifyManager.
Class
- EmailVerifyManager
- Defines an email verify manager.
Namespace
Drupal\email_verify
Code
private function connect($host) {
if ($this->connection) {
return true;
}
$mx_hosts = array();
if (!getmxrr($host, $mx_hosts)) {
$mx_hosts[] = $host;
}
$config = $this->configFactory
->get('email_verify.settings');
$timeout = $config
->get('timeout');
foreach ($mx_hosts as $smtp) {
$this->connection = @fsockopen($smtp, 25, $errno, $errstr, $timeout);
if (!$this->connection) {
continue;
}
if (preg_match("/^220/", $out = fgets($this->connection, 1024))) {
return true;
}
else {
\Drupal::logger('email_verify')
->warning('Could not verify email address at host @host: @out', array(
'@host' => $host,
'@out' => $out,
));
}
}
}