Сообщение: fsockopen (): невозможно подключиться к ssl: //smtp.googlemail.com: 465 (разрешение отклонено) - PullRequest
0 голосов
/ 16 сентября 2018

Ошибка отправки электронной почты с 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

Error screenshot from browser

Я также изменил свой smtp_port от 465 до 587 и 25 .Остается та же ошибка.

Как мне решить эту проблему?

Может кто-нибудь сказать мне, как мне проверить, открыт ли порт 465 или нет на сервере? Мой сервер VPS OS: Centos

Спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Мое предложение заключается в том, чтобы вы проверили порты, убедитесь, что брандмауэр вашего сервера разрешает smtp . Возможно, вам придется проверить

  • порт 25

.

0 голосов
/ 16 октября 2018

Я стараюсь, это работает для меня. Я надеюсь, что это работает для вас тоже

$config['protocol'] = 'smtp';
$config['smtp_crypto'] = 'tls';
$config['smtp_host'] = 'smtp.gmail.com';    
$config['smtp_port'] = '587';
...