0

I follow this tutorials. https://welcm.uk/blog/creating-a-contact-form-for-your-laravel-website

To create a contact form in laravel.

I can send, but i don´t get any mails, and no error codes.

/app/Http/Controllers/ContactController.php

<?php

namespace App\Http\Controllers;
use App\Notifications\ContactFormMessage;
use App\Http\Controllers\Controller;
use App\Http\Requests\ContactFormRequest;
use App\Recipient;
Class ContactController extends Controller
{
 public function show()
 {
  return view('contact.index');
 }
public function mailContactForm(ContactFormRequest $message, Recipient $recipient)
 {      
  $recipient->notify(new ContactFormMessage($message));
  
  return redirect()->back()->with('message', 'Thanks for your message! We will get back to you soon!');
 }
}

/resources/views/contact/index.blade.php

@extends('user.layout.app_single')

@section('content')

<div class="banner row no-margin" style="background-position: center; background-image: url('asset/img/banner-bg.jpg');">
    <div class="banner-overlay"></div>
    <div class="container slider pad-80">
    <div class="col-md-12 text-center">

            <h1 class="page-title"><b>Contact us</b></h1>
            <p class="page-description yellow-color"></p>
        </div>
   
    </div>
</div>

<div class="row white-section pad-60" style="margin-top: 2em;">
<div class="container">
  <div class="row">
  <div class="col">
  <h2 class="mx-auto text-center">Send enquiry</h2>
@if(session('message'))
  <div class='alert alert-success'>
  {{ session('message') }}
  </div>
@endif
@if($errors->any())
      <div class="alert alert-danger">
          <ul>
          @foreach ($errors->all() as $error)
              <li>{{ $error }}</li>
          @endforeach
          </ul>
      </div>
@endif
<div class="col-12 col-md-6">
  @include('contact.form')
</div>
</div>
</div>
</div>
</div>
@endsection

form.blade.php

<form class="form-horizontal" method="POST" action="contact">
  
   {{ csrf_field() }}
      
  <div class="form-group">
   <label for="Name">Name: </label>
   <input type="text" class="form-control" id="name" placeholder="Name" name="name" required>
  </div>
  <div class="form-group">
   <label for="email">Email: </label>
   <input type="text" class="form-control" id="email" placeholder="Email" name="email" required>
  </div>
  <div class="form-group">
   <label for="message">Message: </label>
   <textarea type="text" class="form-control" id="message" placeholder="Enter your message here" name="message" required> </textarea>
  </div>
  <div class="form-group">
    <button type="submit" class="btn btn-primary" value="Send">Send</button>
  </div>
    
</form>

Add the following in your routes/web.php file

Route::get('/contact', 'ContactController@show');
Route::post('/contact', 'ContactController@mailContactForm');

and my .env settings

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=xxxxxxxxxxx
MAIL_PASSWORD=xxxxxxxxxxxxxxxx
MAIL_ENCRYPTION=TLS

RECIPIENT_EMAIL=xxxxxxxxxxx
RECIPIENT_NAME=xxxxxxxxx
Niklas
  • 543
  • 2
  • 8
  • 17
  • 3
    Does this answer your question? [PHP mail function doesn't complete sending of e-mail](https://stackoverflow.com/questions/24644436/php-mail-function-doesnt-complete-sending-of-e-mail) Email fails for lots of reasons, many not related to your code. Work through the answers provided in the linked question and make sure you've covered every point before coming back for more help. – Tangentially Perpendicular Jun 18 '23 at 20:43

0 Answers0