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

Posted

技术标签:

【中文标题】CakePHP 3 & Mercury:SMTP 服务器不接受密码【英文标题】:CakePHP 3 & Mercury: SMTP server did not accept the password 【发布时间】:2016-03-07 05:56:19 【问题描述】:

我有带有 Mercury 邮件服务器的 localhost xampp 服务器。 使用 Thunderbird 电子邮件客户端,我可以从 localhost 发送和接收邮件。

但是当尝试使用 Cakephp 3.1.x 发送时,我收到了错误消息:

SMTP 服务器不接受密码。

我使用相同的登录数据:

    'EmailTransport' => [
    'default' => [
        'className' => 'Smtp',
        // The following keys are used in SMTP transports
        'host' => 'localhost.dev',
        'port' => 25,
        'timeout' => 30,
        'username' => 'info',
        'password' => 'info',
        'client' => null,
        'tls' => null,
    ],
],

使用 Thunderbird 发送和接收时的 Mercury 日志

T 20151202 221930 565f69f1 Connection from 127.0.0.1
T 20151202 221930 565f69f1 EHLO [127.0.0.1]
T 20151202 221930 565f69f1 MAIL FROM:<nikola@localhost.dev> SIZE=385
T 20151202 221930 565f69f1 RCPT TO:<info@localhost.dev>
T 20151202 221930 565f69f1 DATA
T 20151202 221930 565f69f1 DATA - 12 lines, 385 bytes.
T 20151202 221930 565f69f1 QUIT
T 20151202 221930 565f69f1 Connection closed with 127.0.0.1, 0 sec. elapsed.

尝试使用 CAKEPHP 发送和接收时的 Mercury 日志

T 20151202 222318 565f69f2 Connection from 127.0.0.1
T 20151202 222318 565f69f2 EHLO localhost
T 20151202 222318 565f69f2 AUTH LOGIN
T 20151202 222318 565f69f2 QUIT
T 20151202 222318 565f69f2 Connection closed with 127.0.0.1, 0 sec. elapsed.

【问题讨论】:

我建议从检查水银日志开始,并比较从 CakePHP 和 Thunderbird 发送的内容。 好的,我添加日志、thunderbird 和 cakephp 您不应将答案编辑到您的问题中,而应将解决方案作为答案发布。与此同时,我已经删除了问题的“答案”部分。 您使用 Chrome 并使用用于在 CakePHP 应用程序中发送邮件的电子邮件登录,然后您访问 2 链接以允许安全性较低的应用程序访问您的 gmail。 [accounts.google.com/b/0/DisplayUnlockCaptcha] [google.com/settings/security/lesssecureapps] 【参考方案1】:

如果有人遇到过同样的问题,解决方法是:

 'password' => null,

【讨论】:

为了给其他人添加这个,我在使用 G Suite (Google Apps) 时遇到了类似的问题。我还指定了密码。还要确保您已在 Google 管理控制台中配置了“SMTP 中继服务”。

以上是关于CakePHP 3 & Mercury:SMTP 服务器不接受密码的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 3 不保存关联?

cakephp:使用保存方法,我想在数据没有变化时更新修改时间

在 CakePHP 3 中调用布尔错误时的成员函数 build()

如何防止 CakePHP 3.0 中的多个表单提交?

cakePHP 3.3 在 where() 中转换 typeMap

CakePHP 3 跨 2 个表保存关联数据