FEATURE: make email sending working

This commit is contained in:
Michal Kváček
2016-04-01 17:50:49 +02:00
parent 5f050a7dea
commit a478f1491e
3 changed files with 38 additions and 5 deletions
@@ -1,23 +1,50 @@
<?php <?php
namespace Modules\ContactForm\Http\Controllers\Visitor; namespace Modules\ContactForm\Http\Controllers\Visitor;
use App\Helpers\Template;
use App\Models\Content; use App\Models\Content;
use Illuminate\Mail\Message;
use Illuminate\Support\Facades\Mail;
use Modules\ContactForm\Http\Requests\SendNewEmailRequest; use Modules\ContactForm\Http\Requests\SendNewEmailRequest;
use Pingpong\Modules\Routing\Controller; use Pingpong\Modules\Routing\Controller;
class CreateNewMessage extends Controller class CreateNewMessage extends Controller
{ {
/**
* Method for sending emails via contact form
*
* @param SendNewEmailRequest $request
* @param $formId
*
* @return mixed
*/
public function postMessage(SendNewEmailRequest $request, $formId) public function postMessage(SendNewEmailRequest $request, $formId)
{ {
// load form settings
$form = Content::where('module_handler', config('contactform.handler')) $form = Content::where('module_handler', config('contactform.handler'))
->findOrFail($formId); ->findOrFail($formId);
$form->module_settings = json_decode($form->module_settings);
dd($request->name, $form); // select template
$template = isset($form->module_settings->emailTemplate) ? $form->module_settings->emailTemplate : 'contactform::emails.default';
// send email
$status = Mail::send(Template::name($template), ['data' => $request], function (Message $message) use ($request, $form) {
$message->from($request->email, $request->name);
$message->to($form->module_settings->email)
->subject('Your Reminder!');
});
// inform user about success or failure
if ($status) {
return redirect() return redirect()
->route('page.content', ['url' => $form->url]) ->route('page.content', ['url' => $form->url])
->with('success', ''); ->with('success', '');
} else {
return redirect()
->route('page.content', ['url' => $form->url])
->with('error', '');
}
} }
} }
@@ -12,7 +12,9 @@ class SendNewEmailRequest extends Request
public function rules() public function rules()
{ {
return [ return [
'name' => 'required',
'email' => 'required|email',
'message' => 'required',
]; ];
} }
} }
@@ -0,0 +1,4 @@
<p>
<strong>Ahoj {{$data->name}}</strong>
</p>
<p>Diky za zpravu: <em>{{$data->message}}</em></p>