【问题标题】:Cakephp email official example not working?Cakephp 电子邮件官方示例不起作用?
【发布时间】:2014-03-26 06:56:03
【问题描述】:

我是 Cakephp 新手(最近我在这里问了几个关于 Cakephp 的问题),我正在通过在官方网站上尝试示例来学习。以下是链接。

http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

我添加到我在遵循官方示例代码之前创建的 Posts 控制器中。

public function emailTesting(){
    $Email = new CakeEmail();
    $Email->config('default');
    $Email->from(array('me@example.com' => 'My Site'));
    $Email->to('myWorkingEmail@gmail.com');
    $Email->subject('Testing Subject');
    $Email->send('Testing email content');
}

根据配置部分,

app/Config/email.php 不需要创建,CakeEmail 可以不使用,并使用各自的方法单独设置所有配置或加载配置数组。

所以,我认为即使我不创建 app/Config/email.php,上面的代码也应该可以工作。然后,当我尝试打开页面时

http://localhost/cakephpTesting/emailTesting/

它给出了一个没有错误消息的空白页面(调试已经是 2,如果有任何错误,它应该显示所有类型的错误消息)但我没有收到任何电子邮件。我还尝试了不同的电子邮件服务提供商,例如雅虎和我的学校电子邮件。都失败了,我觉得应该是我代码的问题吧?

那么,有人知道我错过了什么吗?

【问题讨论】:

  • php 错误日志或 tmp/logs 中有任何错误消息吗?您是否创建了config/email.phpdefault 配置是如何定义的?
  • 我没有创建config/email.php,官方指南说没有必要?而default是Cakephp的默认设置,不知道是什么设置。

标签: php email cakephp


【解决方案1】:

正如您的问题中提到的,不需要创建 app/Config/email.php,如果 您使用各自的方法分别设置所有配置加载数组强>的配置。

您正在使用 Email::config() 方法加载应该在某处定义的 $default 配置数组。作为一种好的做法,它可以在 app/Config/email.php 中定义,也可以在控制器的操作中定义(不推荐后者)。 CakeEmail 需要知道传输类型、主机、端口等。

阅读您在问题中提到的行之后的section,它告诉您如何使用CakeEmail 的构造函数或使用$config 数组。

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    相关资源
    最近更新 更多