Cakephp SMTP 电子邮件语法错误

Posted

技术标签:

【中文标题】Cakephp SMTP 电子邮件语法错误【英文标题】:Cakephp SMTP emails syntax error 【发布时间】:2011-05-24 05:45:24 【问题描述】:

我在蛋糕中发送电子邮件时遇到问题。我的方法是这样的:

$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】:

根据RFC2821,Google 的 SMTP 服务器似乎对其很敏感,电子邮件地址的格式应采用以下方式:

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

fromto 地址执行此操作,您应该一切顺利。如果您没有用户名,则可以重复发送电子邮件:

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

【讨论】:

这对我不起作用。完全相同的问题...是否有任何更新或任何其他原因导致出现此语法错误? 您确实应该发布一些代码来帮助我们找出问题所在。还包括您正在使用的 Cakephp 版本。 我仍然收到相同的消息:MAIL FROM: Recipient Name &lt;myname@example.com&gt;555 5.5.2 Syntax error. qh1si1152456pba.999

以上是关于Cakephp SMTP 电子邮件语法错误的主要内容,如果未能解决你的问题,请参考以下文章

Cakephp SQLSTATE [42000]:语法错误或访问冲突:1064

CakePHP 3 & Mercury:SMTP 服务器不接受密码

CakePHP - 调用另一个模型导致“SQLSTATE [42000]:语法错误或访问冲突”

数据库错误 Cakephp

参数或变量中有语法错误。 服务器响应为: mail from address must be same as authorization user

从第三方 HTML 控件使用 Google SMTP 发送邮件时出现问题