2012-02-12 42 views
16

Trong điều khiển của tôi đang sử dụng một chức năng email với đoạn mã sau:CakeEmail - Làm cách nào để sử dụng?

public function email($mail = null){ 

    $email = new CakeEmail('default'); 
    $email->config('default'); 

    $email->from(array('[email protected]' => 'testing')); 
    $email->to('$mail'); 
    $email->subject('Approved'); 
    $email->send('Approved'); 

Ở phía trên tôi có

App::uses('AppController', 'Controller', 'CakeEmail', 'Network/Email'); 

Tuy nhiên, tôi nhận được lỗi Fatal error: Class 'CakeEmail' không được tìm thấy trong.

Tôi không chắc chắn nơi tôi đã đi sai. Ai có thể vui lòng hỗ trợ?

+0

Bị bỏ phiếu vì thiếu nghiên cứu. Đó là tất cả trong cuốn sách: http://book.cakephp.org/2.0/en/core-utility-libraries/email.html?highlight=cakeemail#CakeEmail – luchomolina

+0

@luchomolina và bây giờ một lần nữa cho lần thứ 6 upvoted – bicycle

Trả lời

36

Bạn cần phải thay đổi App :: sử dụng và tách hai:

App::uses('AppController', 'Controller'); 
App::uses('CakeEmail', 'Network/Email'); 
+6

Bạn có thể xin vui lòng giải thích lý do tại sao họ nên được tách ra? Nó hoạt động, nhưng nó không có ý nghĩa. Tôi muốn biết tại sao :) – Loolooii

+2

Vì bánh mới tham chiếu đến các lớp học. –

+0

các nhà phát triển có nghĩ rằng đó là điều hiển nhiên không? không có tài liệu tham khảo trong tài liệu .. – Juan

1

Bạn có thể sử dụng thành phần email trong bộ điều khiển

public $components = array('Email'); 

public function email(){ 
    $this->Email->to = '[email protected]'; 
    $this->Email->subject = 'Subject - '; 
    $this->Email->from = '[email protected]'; 
    $this->Email->send('message'); 
} 
+0

Điều này không được thông báo; [EmailComponent không được chấp nhận trong CakePHP 2] (http://book.cakephp.org/2.0/en/core-libraries/components/email.html). –

Các vấn đề liên quan