CakePHP SMTP-соединение истекло - PullRequest
1 голос
/ 06 марта 2011

Я знаю, что есть множество вопросов по этой теме, но все еще не могу понять, что происходит не так

Вот мой код:

                $this->Email->to = 'any@mailadress.com';
                $this->Email->subject = 'any subject';
                $this->Email->replyTo = 'noreply@mailadress.com';
                $this->Email->from = 'Somebody <noreply@mailadress.com>';
                $this->Email->additionalParams = '-fnoreply@mailadress.com';
                $this->Email->template = 'my_template';
                $this->Email->sendAs = 'text';
                $this->Email->smtpOptions = array(
                    'port'=>'465',
                    'timeout'=>'30',
                    'host' => 'ssl://smtp.googlemail.com', // also tried smtp.gmail.com
                    'username'=>'username',
                    'password'=>'pass',
                    );
                $this->Email->send();

Теперь это приводит только к «Тайм-ауту соединения: 110». Я пробовал несколько других почтовых сервисов. Всегда получайте ошибку соединения.

Помощь очень ценится.

Ответы [ 3 ]

0 голосов
/ 06 марта 2011

Да, я действительно пропустил это в моем примере кода.

Я уже отладил его, и именно тогда я получил ошибку 110.

На самом деле, мне удалось настроить его сейчас правильно. Кажется, провайдер заблокировал порты или что-то в этом роде, потому что, когда я переместил его на другой сервер, все работало нормально.

Тем не менее, спасибо за помощь!

0 голосов
/ 20 апреля 2012

Убедитесь, что исходящие соединения через порт 465 открыты на вашем сервере.У меня была такая же проблема и открыл порт, решает ее.

0 голосов
/ 06 марта 2011

Вам не хватает способа доставки:

$this->Email->delivery = 'smtp';

Я думаю, smtp.gmail.com - это путь, по которому вы должны идти - я не уверен, что версия ssl будет работать.* Руководство по 1.2 лучше в этой теме (как и во многих других).

Попробуйте отладить код, используя http://book.cakephp.org/view/1635/Debugging-Emails (или просто debug(someVar);exit; в соответствующем месте).

...