fsockopen(): php_network_getaddresses: ошибка getaddrinfo: имя или служба неизвестны

#php #codeigniter #codeigniter-2 #codeigniter-3

#php #codeigniter #codeigniter-2 #codeigniter-3

Вопрос:

Мне не удается отправить содержимое формы на электронную почту. Я получаю следующую ошибку:

 : Warning
Message: fsockopen(): php_network_getaddresses: getaddrinfo failed:Name or service not known

Filename: libraries/Email.php

Line Number: 1986

Severity: Warning

Message: fsockopen(): unable to connect to ssl://smtp.123mailsetup.com:25   (php_network_getaddresses: getaddrinfo failed: Name or service not known)

Filename: libraries/Email.php

   Line Number: 1986
  

Моя строка 1986

 $this->smtp_timeout);
  

Часть кода в моем контроллере

 $config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.xxxx.com',
'smtp_port' => 465,
'smtp_user' => 'xxxxx@xxx.com',
'smtp_pass' => 'xxxxxxxx',
'mailtype'  => 'html', 
'charset'   => 'iso-8859-1'
);
                $this->load->library('email', $config);
                $this->email->from('xxxxx@xxx.com', 'Mailsetup');
                $this->email->to($email); 

                $this->email->subject('Domain transfer');
                $this->email->message( '<html><body>Domain to be transfered        '.$domain.' <br> Domain owner '.$name.' , <br> email '.$email.'

                </body></html>' );   

                $this->email->send();
  

Комментарии:

1. Вы можете использовать IP для имен хостов, если они не разрешаются через DNS. Обратите внимание, попытка выполнить пинг smtp.123mailsetup.com показывает, что это не разрешается, но 123mailsetup.com разрешает ли 77.235.54.121 проверку имени почтового сервера

2. Спасибо, чувак .. это была проблема .. удалось разобраться

Ответ №1:

Используйте PHP Mailer Смотрите здесь

 $mail = new PHPMailer(true);

$auth = true;

if ($auth) {
  $mail->IsSMTP(); 
  $mail->SMTPAuth = true; 
  $mail->SMTPSecure = "ssl"; 
  $mail->Host = "smtp.xxxx.com"; 
  $mail->Port = 465; 
  $mail->Username = "username@host.com"; 
  $mail->Password = "xxxxxxxxxxxx"; 
}

$mail->AddAddress("xxxxxxxx@xxxxxx.com");
$mail->SetFrom("JohnDeo@xxx.com", "John Deo");
$mail->isHTML(true);
$mail->Subject = "Test Email";
$mail->Body = "Hello World";

try {
  $mail->Send();
  return true;
} catch(Exception $e){
  echo $mail->ErrorInfo;
}