private function checkEmail(string $email) : Generator { $host = substr($email, strrpos($email, "@") + 1); if (!$host) { throw new AcmeException("Invalid contact email: '{$email}'"); } try { (yield \Amp\Dns\query($host, Record::MX)); } catch (ResolutionException $e) { throw new AcmeException("No MX record defined for '{$host}'"); } }
private function checkEmail($email) { if (!is_string($email)) { throw new InvalidArgumentException(sprintf("\$email must be of type string, %s given.", gettype($email))); } $host = substr($email, strrpos($email, "@") + 1); if (!$host) { throw new AcmeException("Invalid contact email: '{$email}'"); } try { (yield \Amp\Dns\query($host, Record::MX)); } catch (NoRecordException $e) { throw new AcmeException("No MX record defined for '{$host}'"); } catch (ResolutionException $e) { throw new AcmeException("Dns query for an MX record on '{$host}' failed for the following reason: " . $e->getMessage(), null, $e); } }