CakePHP:通过SMTP向MS OUTLOOK发送邮件 - > SMTP错误:504 5.7.4无法识别的身份验证类型

时间:2013-02-11 10:02:05

标签: email cakephp outlook smtp

我想我会在这里写一个问题之前尝试找出是否可以通过cmd行发送邮件。所以我跟着these steps发了一封cmd给我自己的电子邮件和我的同事,我正在使用同一个应用程序。来自cmd行的消息以它应该出现的格式出现。

(内部应用程序,应该只向我的同事的OUTLOOK帐户发送邮件)

一切似乎都很好,所以我想我的cakePHP代码中有一个错误:

到目前为止我在邮件代码上的所有内容都是:

应用/配置/ email.php

public $smtp = array(
    'transport' => 'Smtp',
    'from' => array('from@test.sk'),
    'host' => 'ip_address_of_my_host',
    'port' => 25,
    'timeout' => 30,
    'username' => 'from@test.com',
    'password' => 'password',
    'client' => null,
    'log' => true,
    'charset' => 'utf-8',
    'headerCharset' => 'utf-8',
);

UsersController.php(测试发送邮件功能)

    public function test_send_email() {
        $this->autoRender = false;
        App::uses('CakeEmail', 'Network/Email');
        $email = new CakeEmail('smtp');
        $email->from(array('from@test.com' => 'APP TEST'));
        $email->to('me@test.com');
        $email->subject('Subject of testing');
        $email->send('Message of testing');
    }

加载5秒后,我得到: SMTP错误:504 5.7.4无法识别的身份验证类型

2 个答案:

答案 0 :(得分:1)

<强>解决:

我想在EXCHANGE上不需要身份验证,所以我只是删除了密码参数并且工作正常。

在研究过程中我发现了这篇文章,所以下一步就是联系EXCHANGE管理员。

http://blogs.technet.com/b/exchange/archive/2006/12/28/3397620.aspx

答案 1 :(得分:0)

在端口25上使用telnet时遇到同样的错误。更改为端口587后,我可以使用经过身份验证的SMTP。