Ошибка отправки электронной почты с VPS. Он отлично работает с моего локального хоста, но не работает на живом сервере. мой код приведен ниже.
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'my gmail email',
'smtp_pass' => 'email password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('from-email', 'name');
$this->email->to('to-email');
$this->email->subject('Hello Test');
$this->email->message('Hello Message');
if ($this->email->send()) {
echo 'send';
}else {
show_error($this->email->print_debugger());
}
В localhost работает нормально. На моем сервере VPS отображается ошибка.
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): unable to connect to ssl://smtp.googlemail.com:465 (Permission denied)
Filename: libraries/Email.php
Line Number: 1990
Backtrace:
File: /var/www/html/company/application/controllers/Welcome.php
Line: 46
Function: send
File: /var/www/html/company/index.php
Line: 315
Function: require_once
Я также изменил свой smtp_port с 465 на 587 и 25. Осталась та же ошибка.
Как мне решить эту проблему?
Кто-нибудь может мне сказать, как проверить, открыт порт 465 или нет на сервере? Операционная система моего VPS-сервера: Centos
Спасибо за ваше время.






Я пробую это, у меня это работает. Я надеюсь, что это сработает и для тебя
$config['protocol'] = 'smtp';
$config['smtp_crypto'] = 'tls';
$config['smtp_host'] = 'smtp.gmail.com';
$config['smtp_port'] = '587';
Я предлагаю вам проверить порты, убедитесь, что брандмауэр вашего сервера разрешение smtp. Возможно, вам придется проверить
.
Если порт smtp не работает, отправить почту smtp не удастся. Поэтому убедитесь, что ваш брандмауэр разрешает трафик на порт 25 или какой бы порт вы ни использовали для smtp.
Пожалуйста, объясните, как это может ответить на вопрос