我試圖創建一個使用Laravel 5.3 Laravel一個接觸的形式,但我得到這個討厭的錯誤在這裏:問題與Laravel Mailables
在helpers.php線ErrorException 519: 用htmlspecialchars()預計參數1是字符串,對象給出(查看:/Applications/XAMPP/xamppfiles/htdocs/meps/resources/views/emails/contactemail.blade.php)
下面是我用的文件:
聯繫表格
<div class="contact-form">
<form class="margin-clear" role="form" action="{{ url('/sendmail') }}" method="POST">
{{ csrf_field() }}
<div class="form-group has-feedback">
<label for="name">Name*</label>
<input type="text" class="form-control" id="name" name="name" placeholder="">
<i class="fa fa-user form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="email">Email*</label>
<input type="email" class="form-control" id="email" name="email" placeholder="">
<i class="fa fa-envelope form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="subject">Subject*</label>
<input type="text" class="form-control" id="subject" name="subject" placeholder="">
<i class="fa fa-navicon form-control-feedback"></i>
</div>
<div class="form-group has-feedback">
<label for="message">Message*</label>
<textarea class="form-control" rows="6" id="message" name="message" placeholder=""></textarea>
<i class="fa fa-pencil form-control-feedback"></i>
</div>
<input type="submit" value="Submit" class="btn btn-primary">
</form>
</div>
控制器功能
public function sendmail(Request $request, Mailer $mail) {
$mail->to('[email protected]')->send(new ContactEmail($request->name, $request->email, $request->subject, $request->message));
$request->session()->flash('mail-sent', 'Your email has been sent.');
return redirect('/contact');
}
可郵寄類
class ContactEmail extends Mailable
{
use Queueable, SerializesModels;
public $name;
public $email;
public $subject;
public $message;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($name, $email, $subject, $message)
{
$this->name = $name;
$this->email = $email;
$this->subject = $subject;
$this->message = $message;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from($this->email)->view('emails.contactemail');
}
}
這裏是路線
Route::post('sendmail', '[email protected]');
看起來您的'contagtemail.blade.php'文件中有一個對象被包裹在「{{}}」中。你只想在那裏放置字符串(或者帶有'__toString'魔術方法的對象)。 – user3158900
這是實際的電子郵件模板contactemail.blade.php – Kaley36