你知道什么是语法错误引用吗?
这是我正在使用cakephp的代码
$User = $this->User->read(null,$id);
$this->Email->to = array('name@gmail.com');;
$this->Email->from = 'name@gmail.com';
$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'=>'name@gmail.com',
'password'=>'********',
);
$this->set('User', $User);
$this->Email->delivery = 'smtp';
$this->Email->send();
注意:我正在发送电子邮件给我自己进行测试。
答案 0 :(得分:23)
这个问题在这里被问到:Cakephp SMTP emails syntax error
这是RabidFire的(正确的)答案:
Google的SMTP要求您格式化 以下列方式发送电子邮件地址:
Recipient Name <myname@example.com>
为from和to执行此操作 地址,你应该好好去。 如果你没有这个名字 用户,然后你可以重复 电子邮件:
$this->Email->to = "my_test_mail@centrum.cz <my_test_mail@centrum.cz>";
答案 1 :(得分:1)
今天刚刚获得其中一个,我正在使用的库在发送邮件之前将站点名称放在方括号中并导致555 5.5.2语法错误。
你最好在addres的第一部分没有符号,名字应该去。我的错误是由
引起的"Name [Site] <address@site.com>"
并由
修复"Name Site <address@site.com>"
答案 2 :(得分:1)
将设置为,将设置为为“email@email.com&lt; email@email.com>”不是为我工作。不得不改为“&lt; email@email.com>”。在&lt;&gt;之外放一个字符串部分失败,“邮件发送失败555 5.5.2语法错误... - gsmtp”
答案 3 :(得分:1)
我遇到了这个问题,但是收到了类似dude.muñoz@domain.com的电子邮件,并解决了更改为dude.muñoz@domain.com的问题(使用unicode更改特殊字符)。
答案 4 :(得分:0)
当“from”字段为空或无效时,我收到此错误。因此,您不应该在测试中使用假电子邮件。
答案 5 :(得分:0)
在发件人字段中将“您的姓名” 放在内部。
我正在使用Erlang,Vagabond / gen_smtp和Gmail。
这是我的配置文件的一部分:
{email_conf, [
{sender, <<"<YourName your_gmail_address@gmail.com>">>},
{options, [
{ssl, true},
{port, 465},
{relay, <<"smtp.gmail.com">>},
{username, <<"your_gmail_address@gmail.com">>},
{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).
答案 6 :(得分:0)
我们只需删除名称即可解决此问题
"Name <address@site.com>"
替换为
"address@site.com"
答案 7 :(得分:0)
由于消息格式不正确。可能是 from address 或 to address 是错误的(比如一个额外的逗号)