Reputation: 65
i have web site make in Laravel 5.4. I have contact form and try to send mail but when send i got in mail this data
Name: {{ $name }}
Email: {{ $email }}
Message: {{ $message1 }}
In laravel 5.1 I got the data but in Laravel 5.4 I can not pass data.
My web.php
Route::post('mailContact', 'SiteController@postEmailContact');
My contorller:
protected function postEmailContact() {
Mail::send('requestContact', array(
'name' =>Input::get("name"),
'email' =>Input::get("email"),
'message1' =>Input::get("message1")
), function ($message) {
$message->from('[email protected]', 'Contact');
$message->to('[email protected]')->subject('Contact');
});
return redirect('/');
}
and my requestContact.blade.php
Name: {{ $name }}
Email: {{ $email }}
Message: {{ $message1 }}
and contact.blade.php
{!! Form::open(array('url' => 'mailContact','class'=>'form-group')) !!}
<div id="content-page" class="content group">
<div class="hentry group">
<div class="usermessagea"></div>
<label for="name-contact-us">
Name
</label>
<div class="input-prepend"> {!! Form::text('name', null, array('class' => 'form-control','placeholder' => 'ime')) !!}</div>
<div class="msg-error"></div>
<label for="email-contact-us">
Email
</label>
<div class="input-prepend"> {!! Form::text('name', null, array('class' => 'form-control','placeholder' => 'email')) !!}</div>
<div class="msg-error"></div>
<label for="message-contact-us">
Message
</label>
<div class="input-prepend"> {!! Form::textarea('message1', null,
array( 'placeholder'=>'message',
'class'=>'form-control'
)) !!}</div>
</br>
{!! Form::submit('send' , array('class' => 'btn btn-primary')) !!}
</div>
{!! Form::close() !!}
Any idea? How to pass data?
Upvotes: 1
Views: 3191
Reputation: 21681
You should try this:
Please change email
field
{!! Form::text('name', null, array('class' => 'form-control','placeholder' => 'email')) !!}
to:
{!! Form::text('email', null, array('class' => 'form-control','placeholder' => 'email')) !!}
Updated answer
protected function postEmailContact() {
$data = array(
'name' =>Input::get("name"),
'email' =>Input::get("email"),
'message1' =>Input::get("message1")
);
Mail::send('requestContact',$data, function ($message) {
$message->from('[email protected]', 'Contact');
$message->to('[email protected]')->subject('Contact');
});
return redirect('/');
}
Upvotes: 2
Reputation: 1315
Follow 3 step only
1] configure in .evn file at root dir. as above
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls
2]create controller
use Mail;
class mailController extends Controller
{
public function send(){
Mail::send(
['text' => 'post.mail'], //e.g post/mail.blade.php <view file mentioned here>
['name' => 'Name'],
function($message){
$message->to('[email protected]','To username');
$message->subject('test email yagnesh');
$message->from('[email protected]','from username');
}
);
}
}
AND create view file <post/mail.blade.php> set this name
3] run command at root dir. to Restart server <php artisan serve>
And
U can allow google less security at [https://www.google.com/settings/security/lesssecureapps][1]
Just enabled
4] create Route
//for send mail
Route::get('/send','mailController@send');
and run 'send' keyword in your url.
For more visit <https://www.youtube.com/watch?v=a08ouL3wjjQ&list=PLe30vg_FG4OQz1yZq0z19ZuWD_C3MZbA4&index=26>
Good luck!!!
Upvotes: 1