Codeigniter SMTP не удается подключиться

Я использую Codeigniter 3 и имею простую форму контакта на своем веб-сайте. Эта контактная форма отлично работает на моей локальной среде XAMPP, но не на моем общем веб-хостинге (BT).

Я не могу понять, в чем проблема, я был в контакте с их поддержкой и, видимо, если учетная запись электронной почты может отправлять и получать электронную почту через почтовые клиенты (что она может), они не предлагают никакой дополнительной поддержки: /

Я могу войти в Office365 для отправки и получения писем с помощью этой учетной записи. Настройки smpt в Office365:

Server name: smtp.office365.com Port: 587 Encryption method: STARTTLS 

Мой текущий код выглядит следующим образом.

  $config['protocol'] = 'smtp'; $config['smtp_host'] = 'smtp.office365.com'; // also tried tls://smtp.office365.com $config['smtp_port'] = '587'; $config['smtp_user'] = 'MyEmail@btconnect.com'; $config['smtp_pass'] = 'MyPass'; $config['smtp_crypto'] = 'tls'; $config['mailtype'] = 'html'; $config['wordwrap'] = TRUE; $config['charset'] = 'iso-8859-1'; $config['newline'] = "\r\n"; 

В localhost отправляется электронное письмо, и никаких проблем нет. На веб-хосте Live я получаю следующую ошибку;

Сообщение: fsockopen (): не удалось подключиться к smtp.office365.com:587 (Время ожидания подключения)

Я читал, что проблема может быть связана с тем, что OpenSSL не включен, однако веб-хост подтвердил, что он включен. Я также проверил загруженные расширения, используя следующий код;

  echo "<pre>"; print_r(get_loaded_extensions()); echo "</pre>"; 

Это возвращается;

 Array ( [0] => Core [1] => date [2] => ereg [3] => libxml [4] => openssl [5] => pcre etc etc ) 

Я проверил, что я могу подключиться к серверу smtp, используя следующий код;

 $fp = fsockopen('tcp://smtp.office365.com', 587, $errno, $errstr, 10); echo fgets($fp, 128); var_dump($fp, $errno, $errstr); fclose($fp); 

На моем localhost я получаю следующее сообщение;

220 VI1PR0602CA0001.outlook.office365.com Microsoft ESMTP MAIL Сервис готов в понедельник, 19 июня 2017 10:19:10 +0000 ресурс (55) типа (потока) int (0) string (0) ""

На реальном сервере я получаю это;

Сообщение: fsockopen (): невозможно подключиться к tcp: //smtp.office365.com: 587 (время ожидания подключения)

Я пробовал Gmail smtp, снова это работает локально, но не на удаленном веб-хосте.

Есть ли что-нибудь еще, что я должен попробовать, или попросить моего веб-хоста проверить? В настоящее время у меня нет идей.

Любая помощь приветствуется.

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

попробуйте изменить свой код:

 $config['protocol'] = 'smtp'; 

к этому:

 $config['protocol'] = 'mail';