确定我的Exchange服务用于电子邮件发送的端口 - > cakePhP CakeEmail

时间:2013-01-02 12:58:51

标签: email cakephp smtp outlook-2007

我正在尝试使用smtp协议发送带有cakephp的邮件。

这是我的email.php:

class EmailConfig {

    public $smtp = array(
        'transport' => 'Smtp',
        'from' => array('account@mail.sk' => 'Me'),
        'host' => 'ip_address',
        'port' => 1234,
        'timeout' => 30,
        'username' => 'account',
        'password' => 'password',

/* dont know what these parameters below are for */
        'client' => null, 
        'log' => true,
        //'charset' => 'utf-8',
        //'headerCharset' => 'utf-8',
    );

这是我用于测试的功能(点击链接后应发送一些虚拟邮件):

    public function testSendEmail() {
        $this->autoRender = false;
                    $email = new CakeEmail('smtp');
        $email->from(array('account@mail.com' => 'Test'));
        $email->to('me@gmail.com');
        $email->subject('Test subject');
        $email->send('Dummy post');
    }

我认为我的代码没问题(尽管我没有尝试过,因为gmail在我们的办公室受到限制,因此我无法使用我的gmail设置尝试)。点击链接后($ this-> Html-> link('link',数组('controller'=>'用户','action'=>'send_mail'));)没有任何反应(网站刷新)我没有得到任何错误,甚至没有在tmp / error.log

我猜我的端口不正确。 (但是,任何其他原因,将会发生在你身上,将不胜感激)

经过一番挖掘后,我找到了主机到我需要发送的地方,我的问题是:

如何找到我的邮件服务(Outlook 2007)用于发送邮件的端口?

我尝试了什么:

  1. http://www.authsmtp.com/outlook-2007/alternate-port.html,但图片2以后的所有对话框都与图片不同。

  2. 还在命令行中尝试了netstat -a,但与我的OUTLOOK对应的两个端口都没有工作。

  3. 附加说明:

    1. 我在localhost(xampp - > apache)
    2. 上编写此应用程序
    3. 我将此“extension = php_openssl.dll”行添加到php.ini(在某些教程中提出)并且没有发生任何更改(仍然没有错误,仍然没有邮件)
    4. 更新

      将该函数的名称更改为“test_send_email”,现在它不会刷新,但在删除自动渲染并将test_send_email.ctp视图添加到我的MVC后会显示以下错误:

      SMTP超时。 错误:发生内部错误。

      所以我想我是对的,我没有正确的端口..

1 个答案:

答案 0 :(得分:2)

默认端口为25,就是这种情况。

您可以使用cmd命令telnet name_of_server 25

进行检查

在Outlook 2007中,可以通过右键单击消息找到服务器地址 - >选项 - >对话框中的向下是此消息的标题。