Я отправляю почту из PHP через SMTP-сервер Gmail.Я использую компонент электронной почты CakePHP с установленными настройками SMTP.Изначально у меня все работало нормально с использованием SSL через порт 465, но я обнаружил, что мой веб-хост не разрешает исходящий трафик через 465. Однако они сказали, что исходящие соединения через порт 587 разрешены.
После прочтения http://mail.google.com/support/bin/answer.py?answer=13287 Я подумал, что это будет так же просто, как изменить номер порта и протокол, но я не могу заставить его работать.
Кажется, что нарушена строка кодабыть вызовом fsockopen:
fsockopen("ssl://smtp.gmail.com", 465, $errNum, $errStr, 30); // WORKS
fsockopen("tls://smtp.gmail.com", 587, $errNum, $errStr, 30); // FAILS
Приведены следующие ошибки:
Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number in Command line code on line 1
Warning: fsockopen(): Failed to enable crypto in Command line code on line 1
Warning: fsockopen(): unable to connect to tls://smtp.gmail.com:587 (Unknown error) in Command line code on line 1
Это в PHP 5.3, phpinfo показывает, что OpenSSL включен.Любая помощь будет принята с благодарностью.