555 5.5.2 Синтаксическая ошибка. gmail smtp
Знаете ли вы, что такое исправление синтаксической ошибки?
Вот код, который я использую CakePHP
$User = $this->User->read(null,$id);
$this->Email->to = array('[email protected]');;
$this->Email->from = '[email protected]';
$this->Email->subject = 'Welcome to our really cool thing';
$this->Email->template = 'simple_message';
$this->Email->sendAs = 'both';
$this->Email->smtpOptions = array(
'port'=>'465',
'timeout'=>'30',
'auth' => true,
'host' => 'ssl://smtp.gmail.com',
'username'=>'[email protected]',
'password'=>'********',
);
$this->set('User', $User);
$this->Email->delivery = 'smtp';
$this->Email->send();
ПРИМЕЧАНИЕ. Я отправляю электронное письмо себе для тестирования.
Ответы
Ответ 1
Этот вопрос задавали здесь: Синтаксическая ошибка электронной почты Cakephp SMTP
Вот ответ RabidFire (правильный):
Google SMTP требует отформатировать адреса электронной почты следующим образом:
Recipient Name <[email protected]>
Сделайте это как для, так и для адрес, и вам должно быть хорошо идти. Если у вас нет имени пользователя, то вы можете просто повторить адрес электронной почты:
$this->Email->to =
"[email protected]
<[email protected]>";
Ответ 2
начиная с "[email protected] < [email protected] > " не работал у меня. Пришлось изменить оба на "< [email protected] > ". Помещение строки за пределы < > сбой "Ошибка отправки почты" 555 5.5.2 Синтаксическая ошибка... - gsmtp "
Ответ 3
Только что получил один из них сегодня, библиотека, которую я использую, помещает имя сайта в квадратные скобки перед отправкой почты и вызывает Синтаксическую ошибку 555 5.5.2.
Лучше всего не иметь символов в первой части addres, куда должно идти имя. Моя ошибка вызвана
"Name [Site] <[email protected]>"
и зафиксировано на
"Name Site <[email protected]>"
Ответ 4
У меня была эта проблема, но с электронным письмом типа dude.muñ[email protected], и я решил изменить его на dude.mu&#[email protected] (изменение специальных символов с помощью юникодов).
Ответ 5
У меня эта ошибка, когда поле "from" было пустым или недействительным. Поэтому вы не должны использовать поддельный адрес электронной почты в своем тесте.
Ответ 6
Поставьте "YourName" в скобках <> в поле отправителя.
Я использую Erlang, Vagabond/gen_smtp и Gmail.
Это часть моего конфигурационного файла:
{email_conf, [
{sender, <<"<YourName [email protected]>">>},
{options, [
{ssl, true},
{port, 465},
{relay, <<"smtp.gmail.com">>},
{username, <<"[email protected]">>},
{password, <<"...">>}
]}
]},
и функция:
send_html(Subject, Body, Sender, Receiver, Opts) ->
Mimemail =
{<<"text">>, <<"html">>,
[
{<<"From">>, Sender},
{<<"To">>, Receiver},
{<<"Subject">>, Subject},
{<<"Content-Type">>, <<"text/html; charset=utf-8">>}
],
[{<<"transfer-encoding">>, <<"base64">>}],
Body},
Mail = {Sender, [Receiver], mimemail:encode(Mimemail)},
gen_smtp_client:send_blocking(Mail, Opts).