0

我可以在几个小时后让这个插件工作。但我现在的问题是它没有发送验证电子邮件。

这是我的 email.php 配置。我不知道如何设置。所以我只是跟随别人在做什么。

class EmailConfig {

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

public $smtp = array(
    'transport' => 'Smtp',
    'from' => array('site@test.com' => 'My Site'),
    'host' => 'localhost',
    'port' => 25,
    'timeout' => 30,
    'username' => 'user',
    'password' => 'secret',
    'client' => null,
    'log' => false,
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
);

public $fast = array(
    'from' => 'you@email.com',
    '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' => 'localhost',
    'port' => 25,
    'timeout' => 30,
    'username' => 'user',
    'password' => 'secret',
    'client' => null,
    'log' => true,
    //'charset' => 'utf-8',
    //'headerCharset' => 'utf-8',
);
}

谁能告诉我如何使这件事正确地意味着它发送验证电子邮件?

4

2 回答 2

1

看起来您没有在 Windows 环境中配置电子邮件服务器。

如果您想调试正在发送的电子邮件,您可以通过这种方式使用调试传输

public $default = array(
    'transport' => 'Debug',
    'from' => 'you@email.com',
    'log' => 'email',
);

然后检查写入文件 app/tmp/logs/email.log 的电子邮件输出

于 2014-02-07T18:41:16.287 回答
0

看起来您的 email.php 配置文件配置严重错误。

很可能 CakeEmail 正在使用$default,您的设置如下:

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

基本上,您将传输设置为 SMTP,并且您缺少使其正常工作的所有必要配置。

因此,您应该将您的传输设置Mail为:

public $default = array(
    'transport' => 'Mail',
    'from' => 'you@yourdomain.com',
);

CakeDC 最有可能使用default如下:

$Email = new CakeEmail('default');

然后它应该工作....

于 2014-02-07T03:58:57.170 回答