0
在我的应用程序的管理面板中,我构建了一个简单的表单,用于发送简报。 只有两个字段:SUBJECT - BODY。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发送它的邮件工作正常...因为如果在身体例如我写'主'然后在我的电子邮件中,我收到一封电子邮件:作为主题插入的形式和身体主视图主题....
所以这个问题只是关于我想发送纯文本而不是视图的事实。
有人可以帮助我吗? 谢谢!