2012-02-12 9 views
16

मेरी नियंत्रक में मैं निम्नलिखित कोड के साथ एक ईमेल समारोह का उपयोग कर रहा:केकईमेल - मैं इसका उपयोग कैसे करूं?

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'); 

शीर्ष पर मैं

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

है हालांकि, मैं प्राप्त त्रुटि गंभीर त्रुटि: क्लास 'CakeEmail' नहीं

मुझे यकीन नहीं है कि मैं कहां गलत हो गया हूं। क्या कोई मदद कर सकता है?

+0

अनुसंधान की कमी के लिए डाउनवॉटेड। यह सब पुस्तक में था: http://book.cakephp.org/2.0/en/core-utility-libraries/email.html?highlight=cakeemail#CakeEmail – luchomolina

+0

@luchomolina और अब 6 वें समय के लिए ऊपर – bicycle

उत्तर

36

आप अपने ऐप :: उपयोग करता है बदल सकते हैं और दो अलग करने के लिए की जरूरत है:

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

क्या आप कर सकते हैं कृपया बताएं कि उन्हें अलग क्यों किया जाना चाहिए? यह काम करता है, लेकिन यह समझ में नहीं आता है। मैं जानना चाहता हूं क्यों :) – Loolooii

+2

नए तरीके केक कक्षाओं का संदर्भ देता है। –

+0

डेवलपर्स ने सोचा था कि यह इतना स्पष्ट था? दस्तावेज़ों में कोई संदर्भ नहीं है .. – Juan

2

प्रलेखन इसके बारे में बहुत स्पष्ट है: http://book.cakephp.org/2.0/en/core-utility-libraries/email.html?highlight=cakeemail#CakeEmail

"सबसे पहले, आप यह सुनिश्चित करना चाहिए वर्ग भरी हुई है" एक दूसरी नज़र पर

: अपने एप्लिकेशन :: उपयोग करता है() गलत है। जिस तरह से इसे दस्तावेज किया गया है उसे देखें।

5

App::uses() केवल दो तर्कों की अनुमति देता है: $className और $location। आपने 4 तर्क पारित किए हैं, यही कारण है कि केकईमेल लोड नहीं होता है।

अधिक जानकारी के लिए http://api20.cakephp.org/class/app#method-Appuses और http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#App::uses देखें

1

आप ईमेल घटक नियंत्रक में उपयोग कर सकते हैं

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

के लिए अब एक मिनट की मौन यह सलाह नहीं दी जाती है; [ईमेलकंपोनेंट को केकेपीएचपी 2 में बहिष्कृत किया गया था] (http://book.cakephp.org/2.0/en/core-libraries/components/email.html)। –

संबंधित मुद्दे