سلام دوستان من یه فرم تماس با ما دارم که میخوام وقتی کاربر فرم رو پر کرد محتوا فرم ارسال شه به ایمیل خودم
تا الان کارایی که کردم اینهاست:
با mailtrap فایل mail تو config رو ویرایش کردم
یک فرم درست کردم که نوع اش post هست و اطلاعات رو به به روت ارسال میکنه:
Route::post('/contact-us', [HomeController::class, 'ContactEmail'])->name('ContactEmail');
این همون کلاس ارسال ایمیلی که ساختم:
<?php
namespace App\Mail;
use http\Client\Request;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class ContactUs extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $request;
public function __construct($request)
{
$this->request = $request;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('Mails.contactUs')->subject('پیام از وبسایت kidLand')->with([
'name' => $request->name,
'email' => $request->email,
'text' => $request->text
]);
}
}
این controller ام:
namespace App\Http\Controllers;
//namespace App\Models;
//use App\Models\User;
use App\Mail\ContactUs;
use App\Models\story;
use App\Models\Sub;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Mail\Mailable;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Mail;
public function ContactEmail(Request $request){
Mail::to('s.a.alavi1313@gmail.com')->send(new ContactUs($request));
}
خطایی که دارم: Undefined variable $request
```
public function build()
{
return $this->view('Mails.contactUs')->subject('پیام از وبسایت kidLand')->with([
'name' => $this->request->name,
'email' => $this->request->email,
'text' => $this->request->text
]);
}
```
توی php اگه توی کلاس متغیر تعریف می کنی باید برای دسترسی بهش از $this-> استفاده کنی.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟