Синтаксическая ошибка электронной почты Cakephp SMTP - PullRequest
4 голосов
/ 12 декабря 2010

У меня проблема с отправкой электронной почты в торте. Мой метод выглядит так:

$this->Email->smtpOptions = array(
            'port'=>'465', 
            'timeout'=>'30',
            'auth' => true,
            'host' => 'ssl://smtp.gmail.com',
            'username'=>'mymail@gmail.com',
            'password'=>'mypass',
        );

        $this->Email->from    = "admin@localhost";
        $this->Email->to      = "my_test_mail@centrum.cz";
        $this->Email->subject = "Test";
        $this->Email->sendAs = "text";

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

        $this->Email->send('Hello message body!');

Но когда я пытаюсь отправить письмо, я получаю:

555 5.5.2 Syntax error. l3sm512374fan.0

Что мне нужно изменить, чтобы это работало?

Спасибо

1 Ответ

10 голосов
/ 12 декабря 2010

Per RFC2821 , к которому SMTP-серверы Google, похоже, мешают, формат адресов электронной почты должен быть следующим:

Recipient Name <myname@example.com>
-or-
<myname@example.com>

Сделайте это как для адреса from, так и to, и вам будет хорошо. Если у вас нет имени пользователя, вы можете просто повторить письмо:

$this->Email->to = "my_test_mail@centrum.cz <my_test_mail@centrum.cz>";
-or-
$this->Email->to = "<my_test_mail@centrum.cz>";
...