我正在尝试从我的联系表单发送邮件。但是我得到了错误。
contact.blade.php 是:
<form method="post" action="{{ URL('send') }}">
{{csrf_field()}}
<table align="center" width="400">
<tr>
<td><strong>Full Name</strong></td>
<td><input type="text" name="name" required="required" /></td>
</tr>
<tr>
<td><strong>Contact No.</strong></td>
<td><input type="text" name="mobno" required="required" /></td>
</tr>
<tr>
<td><strong>Email ID</strong></td>
<td><input type="text" name="email" required="required" /></td>
</tr>
<tr>
<td><strong>Message</strong></td>
<td><textarea name="msg" cols="30" rows="3" required="required"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" /></td>
</tr>
</table>
</form>
web.php是:
Route::POST('send', 'ContactController@send');
ContactController.php 是:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use Appofficeholder;
use AppMailSendMail;
use Mail;
class ContactController extends Controller
{
public function send()
{
Mail::send(new SendMail());
}
}
**我创建了发送邮件.php使用
php 工匠制作:邮件发送邮件
通过我的cmd,然后创建App\Mail\SendMail.php。
SendMail.php是:
<?php
namespace AppMail;
use IlluminateBusQueueable;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;
use IlluminateContractsQueueShouldQueue;
use IlluminateHttprequest;
class SendMail extends Mailable
{
use Queueable, SerializesModels;
public function __construct()
{
//
}
public function build(Request $request)
{
return $this->view('contact',['msg'=>$request->msg])->to('mymail@gmail.com');
}
}
但是我的 contact.blade.php 的屏幕截图正在发送到我的邮件,而不是表单的值,它也不会重定向到联系页面上。
在构造器中传递数据
class ContactController extends Controller
{
public function send()
{
Mail::send(new SendMail(request()));
redirect()->to('url');
}
}
并在您的邮件中
<?php
namespace AppMail;
use IlluminateBusQueueable;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;
use IlluminateContractsQueueShouldQueue;
use IlluminateHttprequest;
class SendMail extends Mailable
{
use Queueable, SerializesModels;
private $request;
public function __construct( Request $request )
{
$this->request = $request;
}
public function build()
{
return $this->view('contact',['msg'=>$this->request->msg])->to('mymail@gmail.com');
}
}
希望这有帮助