2013-08-29 3 views
0

내 앱의 관리자 패널에서 간단한 양식을 작성하여 뉴스 레터를 보내고 있습니다. 두 개의 필드가 있습니다 : 제목 - 본문. 내가 SEND를 클릭하면 메일 뉴스 레터의 모든 가입 한 사용자에게 전송됩니다 원하는Laravel 4 : 양식을 통해 메일 보내기

을 (지금을 테스트하기 위해 첫 번째() : 단지 사용자가)하지만 난이 오류가 :보기 [메일 본문]을 찾을 수 없습니다.

내가 물어보고 싶은 것은 텍스트만으로 간단한 메일을 보내거나 메일 본문으로보기를 보내야한다는 것입니다.

도움이 될 수 있다면

이 내 메일러 클래스입니다 :

<?php namespace Mailers; 

class InvalidContactInfoException extends \Exception {} 

abstract class Mailer { 

public $to; 
public $email; 
public $subject; 
public $view; 
public $data; 
public $options; 


public function __construct($user) 
{ 
    if(!is_object($user)) 
    { 
     throw new InvalidContactInfoException('Please pass a valid user object'); 
    } 

      $this->data = $user->toArray(); 
    $this->to = $user->username; 
    $this->email = $user->email; 
} 

    public function deliver() 
{ 
      $self = $this; 
    return \Mail::send($this->body, $this->data, function($message) use($self) 
    { 
     $message->to($self->email, $self->to)->subject($self->subject); 
    }); 
} 

}

이것은 Usermailer 클래스입니다 :

<?php namespace Mailers; 

class UserMailer extends Mailer { 

public function newsletter($subject, $body) 
{ 
    $this->subject = $subject; 
    $this->body = $body; 

    return $this; 

} 
} 

그리고 컨트롤러 방법 :

public function sendNewsletter() 
{ 
    $input = Input::all(); 

    $rules = array('subject' => 'required', 'body' => 'required'); 

    $validation = Validator::make($input, $rules); 

    if($validation->passes()) 
    { 
     $subject = $input['subject']; 
     $body = $input ['body']; 

     $user = User::first(); 
     $mailer = new Mailers\UserMailer($user); 

     $mailer->newsletter($subject,$body)->deliver(); 

     return Redirect::back()->with('message','Congratulations, the newsletter has been sent succesfully'); 

    } 

    return Redirect::back()->withInput()->withErrors($validation)->with('message','There were validation errors'); 
} 

프로세스 o f는 잘 작동하는 우편물을 보낸다. 왜냐하면 예를 들어 몸에 'master'라고 쓰면 전자 우편을 받는다 : subject는 form으로 삽입되고 body는 master view ....

그래서 문제는보기가 아닌 일반 텍스트를 보내려한다는 사실과 관련됩니다.

누군가 나를 도울 수 있습니까? 감사합니다!

답변

0

확실하지는 않지만 퍼블릭 속성 $ body를 추상 메일러 클래스에 넣는 것을 잊었을 수 있습니다.

관련 문제