1

我想在在这里写问题之前,我会尝试找出是否可以通过 cmd 行发送邮件。所以我按照这些步骤通过 cmd 向我自己和我的一位同事发送了一封电子邮件,他正在开发与我相同的应用程序。来自 cmd 行的消息以应有的格式出现。

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

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

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

应用程序/配置/电子邮件.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 Unrecognized authentication type

4

2 回答 2

1

解决了:

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

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

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

于 2013-02-12T13:54:06.923 回答
0

在 port 上使用 telnet 时,我遇到了同样的错误25。更改为 port 后587,我​​能够使用经过身份验证的 SMTP。

于 2017-08-29T00:56:28.400 回答