PDA

View Full Version : مشکل در فرم ارتباط با ما در لاراول 5.4



aemostofi
چهارشنبه 07 تیر 1396, 20:15 عصر
سلام به دوستان عزیز

در لاراول 5.4 یه فرم طراحی کردم همراه با تنظیماتش وقتی فرم پر میشه و ارسال میشه صفحه بدون مشکل رفرش میشه و هیچ خطایی نمیده ولی اطلاعات ارسال نمیشه.
من برای ارسال اطلاعات از SMTP استفاده کردم هم با "جیمیل" آزمایش کردم هم با "میلترپ" که متاسفانه با هیچ کدوم کار نمیکنه.

مراحلی رو که رفتم بهتون میگم:

اول پوشه .env قسمت ایمیلش رو اطلاعات وارد کردم (قسمت ایمیل و پسورد در اینجا سمپل هست)



MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username@gmail.com
MAIL_PASSWORD=*********
MAIL_ENCRYPTION=tls


بعد از این پوشه از قسمت config/mail.php را مقدار دهی کردم



<?php


return [




'driver' => env('MAIL_DRIVER', 'smtp'),


'host' => env('MAIL_HOST', 'smtp.gmail.com'),


'port' => env('MAIL_PORT', 587),


'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'info@emailo.ir'),
'name' => env('MAIL_FROM_NAME', 'emailo'),
],


'encryption' => env('MAIL_ENCRYPTION', 'tls'),


'username' => env('username@gmail.com'),


'password' => env('***********'),


'sendmail' => '/usr/sbin/sendmail -bs',


'markdown' => [
'theme' => 'default',


'paths' => [
resource_path('views/vendor/mail'),
],
],


];




بعد از وارد کردن تنظیمات اس ام تی پی جیمیل به قسمت routes/web.php رفتم و get و post رو بهش اضافه کردم



Route::get('contact-us' , 'PagesController@getContact');
Route::post('contact-us' , 'PagesController@postContact');


پس از اضافه کردن get و post در قسمت app\Http\Controllers صفحه ای به نام PagesController.php ایجاد کردم و مقادیر زیر را وارد کردم



<?php


namespace App\Http\Controllers;


use Illuminate\Http\Request;
use App\Http\Requests;
use App\Post;
use Mail;
use Session;


class PagesController extends Controller {

public function getContact() {
return view('pages.contact-us');
}


public function postContact(Request $request) {
$this->validate($request, [
'Email' => 'required|Email',
'Name' => 'min:40',
'Phone' => 'min:15',
'message' => 'min:300']);


$data = array(
'Email' => $request->Email,
'Name' => $request->Name,
'Phone' => $request->Phone,
'bodyMessage' => $request->message
);


Mail::send('emails.contact-us', $data, function($message) use ($data){
$message->from($data['Email']);
$message->to('info@emailo.ir');
$message->subject('فرم تماس با ما');
});


Session::flash('success', 'Your Email was Sent!');


return redirect('/contact-us');
}




}




در نهایت به صفحه views\pages\contact-us.blade.php رفته و فرم را ایجاد کردم




<form action="{{url ('contact-us')}}" class="contact-form" id="contactForm" method="POST">
{{ csrf_field() }}
<div class="form-group">
<input class="form-control" id="Name" name="Name" placeholder="نام و نام خانوادگي" type="text" >
</div>
<div class="form-group">
<input class="form-control" id="Email" name="Email" placeholder="پست الکترونيکي" type="text">
</div>
<div class="form-group">
<input class="form-control" id="Phone" name="Phone" placeholder="شماره تلفن يا همراه" type="text">
</div>
<div class="form-group">
<textarea class="form-control" id="message" name="message" placeholder="متن پيام" rows="5" ></textarea>
</div>
<div id="contactFormResponse"></div>
<button id="cfsubmit" type="submit" class="btn btn-success btn-circle btn-block contact-submit">ارسال</button>
</form>


وقتی روی دکمه ارسال کلیک می کنم صفه بدون نمایش هیچ خطایی رفرش میشه ( بلاگر ترو هست) ولی اطلاعات داخل فرم ارسال نمیشه.
لطفا از دوستان راهنمایی بفرماید
متشکر