Cakephp电子邮件官方示例不起作用?

时间:2014-02-24 14:33:00

标签: php email cakephp

我是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,如果有任何错误,它应显示所有类型的错误消息)但我没有收到任何电子邮件。我也尝试了不同的电子邮件服务提供商,如雅虎和我的学校邮箱所有这些都失败了,所以我认为它应该是我的代码的问题?

所以,任何人都知道我错过了什么?

1 个答案:

答案 0 :(得分:3)

如您的问题所述,不需要创建app / Config / email.php,IF 您使用各自的方法分别设置所有配置加载数组

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

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