我是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,如果有任何错误,它应显示所有类型的错误消息)但我没有收到任何电子邮件。我也尝试了不同的电子邮件服务提供商,如雅虎和我的学校邮箱所有这些都失败了,所以我认为它应该是我的代码的问题?
所以,任何人都知道我错过了什么?
答案 0 :(得分:3)
如您的问题所述,不需要创建app / Config / email.php,IF 您使用各自的方法分别设置所有配置或加载数组强大的配置。
您正在使用Email :: config()方法加载$default
配置数组,该数组应该在某处定义。作为良好的做法,它可以在app / Config / email.php中定义,或者在控制器的操作中定义它(不建议使用后者)。 CakeEmail需要知道传输类型,主机,端口等。
阅读问题中提到的行之后的section,告诉您如何使用CakeEmail
的构造函数或使用$config
数组。