Пытаюсь быть немного оборонительным в кодировании, и я пытаюсь отправлять почту, только если соединение успешно с SMTP-сервером. В настоящее время я получаю warning
если соединение не удалось
Я все еще могу поймать, если отправленная почта true
или же false
но я хотел бы знать, как правильно это сделать, чтобы не выдвигать предупреждение.
Текущий код:
$this->email->message($content);
if ($this->email->send()) {
return true; }
else{
return false;
}
Чего я пытаюсь добиться, чтобы не выдвигать предупреждение.
if fsockopen connection successful {
if ($this->email->send()) {
return true; }
else{
return false;
}
}
Предупреждение я получаю сейчас, когда fsockopen
не может подключиться
Message: fsockopen(): unable to connect to ssl://smtp.googlemail.com:465 (php_network_getaddresses: getaddrinfo failed: No such host is known. )
Хотя это работает, и я могу скрыть все ошибки / предупреждения, я хотел бы правильный способ сделать это 🙂
В последних версиях PHPMailer не использует fsockopen
(оно использует stream_socket_client
), и он ловит и сообщает об ошибках подключения. Я подозреваю, что вы используете старую версию, поэтому получить последнюю, и основывайте свой код на примерах, прилагаемых к нему.
Других решений пока нет …