0

对于这个问题的漫无边际,我深表歉意,请多多包涵,我将提供您所需的所有额外信息,以阻止我在看起来非常简单的事情上失败而发疯......

我刚刚安装了 CakePHP 2.2,我做的第一件事是添加 cakeDC 用户插件。除了在用户注册时发送电子邮件验证外,一切正常。

我在 email.php 中尝试了很多不同的东西组合,现在我完全把我的短裤弄得一团糟。不管我做什么,当验证邮件应该发送时,我得到的只是:由于目标机器主动拒绝,无法建立连接。

我的 email.php 目前看起来像这样:

类电子邮件配置 {

public $default = array(
    'transport' => 'Smtp',
    'from' => 'blah@gmail.com',
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
);

public $smtp = array(
    'transport' => 'Smtp',
    'from' => array('Blah <blah@gmail.com>' => 'Chimp'),
    'host' => 'ssl://smtp.gmail.com',
    'port' => 465,  
    'timeout' => 30,
    'username' => 'blah@gmail.com',
    'password' => 'secret',
    'client' => null,
    'log' => false,
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
);

public $fast = array(
    'from' => 'blah@blah.net',
    'sender' => null,
    'to' => null,
    'cc' => null,
    'bcc' => null,
    'replyTo' => null,
    'readReceipt' => null,
    'returnPath' => null,
    'messageId' => true,
    'subject' => null,
    'message' => null,
    'headers' => null,
    'viewRender' => null,
    'template' => false,
    'layout' => false,
    'viewVars' => null,
    'attachments' => null,
    'emailFormat' => null,
    'transport' => 'Smtp',
    'host' => 'blah.net',
    'port' => 25,
    'timeout' => 30,
    'username' => 'user',
    'password' => 'secret',
    'client' => null,
    'log' => true,
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
);

}

如何让 cakeDC 用户插件仅发送非 SMTP 电子邮件?还是我必须使用例如我的 Gmail 详细信息?但是,如果我必须走 SMTP 路由,那么上面有什么问题?

其他信息:我使用的是最新版本的 XAMPP,并且我的 PHP 安装启用了 ssl。

4

1 回答 1

1

如果您使用的是 Windows,建议您将 SMTP 与您的 gmail 详细信息一起使用,是的。不要忘记激活 PHP 的 openSSL 扩展,以便能够通过 SSL 发送邮件。

像这样定义您的 $email 变量:

App::uses('CakeEmail', '网络/电子邮件');

$email = new CakeEmail('smtp');

看看它是否有效

于 2012-10-04T04:19:32.670 回答