2014-09-20 1 views
1

내가 http://www.yiiframework.com/extension/yiimailer/Yiimailer CException보기하지

내가 지시를 따르고 보호에 내가 확장을 넣어 YII 우편물에 문제가 발견했다. 그러나 그것은 작동하지 않는 프로세스의 끝에서, 그것은 오류 여기

http://i61.tinypic.com/2nvulgn.png

내가 이메일을

public function actionCreate() { 
       $model = new Tesi; 
       $docente = Docente::model(); 
       $tutti = $docente->findAll(); 


         //some code ..... 


        if ($model->save()) { 

         $filetmp = dirname(__FILE__) . '/../upload/' . $fileName; 
         $uploadedFile->saveAs($filetmp); // image will uplode to rootDirectory/banner/ 

         $mail = new YiiMailer(); 
         $mail->setView('create'); 
         $mail->setAttachment($filetmp); 
         $mail->SetFrom('***myemailhere***', '**'); 
         $mail->AddAddress($user->mail, $user->name); 
         $mail->AddAddress($docente->mail, $docente->name); 
         $mail->Subject = 'Nuova Form Compilato'; 
         $body = "<body><h1>E' stata inserito un nuovo item</h1><p>Ti ricordiamo che per la pubblicazione online dovrai attendere</p></body>"; 
         $mail->MsgHTML($body); 

         if ($mail->send()) { 
          Yii::app()->user->setFlash('contact', 'Thank you for contacting us. We will respond to you as soon as possible.'); 

         } else { 
          Yii::app()->user->setFlash('error', 'Error while sending email: ' . $mail->getError()); 
         } 

        } 
       } 

       $this->render('create', array(
        'model' => $model, 'docente_id' => $tutti, 
       )); 
      } 

를 보내 사용하고 코드를 표시하고이 하나 책임이있는 기능입니다 오류의

public function setView($view) 
{ 
    if($view!='') 
    { 
     if(!is_file($this->getViewFile($this->viewPath.'.'.$view))) 
      throw new CException('View "'.$view.'" not found'); 
     $this->view=$view; 
    } 
} 

저는 Yii의 새로운 사용자입니다. 따라서 실수를했을 수도 있습니다.

더 필요한 것이 있거나 의견을 남기는 데 충분하지 않은 경우이 게시물을 편집하고 도와 줄 수 있습니다.

답변

0

좋아, 이것은 오래된 것이지만 나는 오늘 같은 시점에 왔고, 그것이 위대한 사람보다 도움이된다면. 메일러가 찾고있는 폴더에 호출중인 뷰가 존재하지 않는다는 점이 문제입니다. config/mail.php 파일에 들어가면 메일러가보기 및 레이아웃을 찾는 위치를 처음 몇 줄에 설명해야합니다. 예 :

return array(
      'viewPath' => 'application.views.mail', 
      'layoutPath' => 'application.views.layouts', 
      ..... 
      ); 

이 시점부터 모든 것이 간단합니다. 레이아웃은 일반 Yii 레이아웃처럼 작동하며 $ content는 개별보기를 포함하는 변수입니다. 그래서 제 경우에는 보호 된/views/mail/폴더에보기를 만들었습니다.