I am beginner in Laravel. I use Laravel 5.8 in my project. I want send email from contact form.
I have this code:
public function sendContactForm($reques
use Illuminate\Support\Facades\Mail;examples:
//mail class file inside app/Mail directory
username = $username;
$this->message= $message;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('contactform');
}
}
//your controller
use Illuminate\Support\Facades\Mail;
use App\Mail\SendContact;
public function sendContactForm($request)
{
$this->validate($request, [
'name' => 'required|string',
'topic' => 'required|string',
'email' => 'required|email',
'message' => 'required|string',
'captcha' => 'required|captcha',
'acceptReg' => 'required|integer',
]);
$title = $request->input('topic');
$txt = nl2br($request->input('message'));
$userName = $request->input('name');
$email = $request->input('email');
$ip = $request->getClientIp();
$dateTime = date('Y-m-d H:i:s');
$message = "Masz wiadomość ze strony". env('APP_NAME')."
";
$message .= "
Dane wiadomości: $dateTime [$ip]
Tytuł wiadomości: $title
Imię: $userName
Adres email: $email
Wiadomość: $txt
";
Mail::to($email)->send(new SendContact($userName, $message));
die('mail sent!');
}
//your blade contactform.blade.php
@extends('app.layouts')
@section('content')
Hello, {{ $username }}
Your enquiry has been received
{{ $message }}
@endsection
in your .env file define this
MAIL_DRIVER=smtp
MAIL_HOST="mail.example.com" //this should be from your webhost
MAIL_PORT=465
MAIL_USERNAME="info@example.com" //this is the email from your domain
MAIL_PASSWORD="************" //password of the email
MAIL_FROM_ADDRESS=info@example.com
MAIL_FROM_NAME='Enquiry Information'
MAIL_ENCRYPTION=ssl
hope this helps