امین
2 سال پیش توسط امین مطرح شد
3 پاسخ

ارسال ایمیل در لاراول

سلام دوستان من یه فرم تماس با ما دارم که میخوام وقتی کاربر فرم رو پر کرد محتوا فرم ارسال شه به ایمیل خودم
تا الان کارایی که کردم اینهاست:
با 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


ثبت پرسش جدید
سینا شاه‌اویسی
تخصص : برنامه نویس فرانت اند
@sinashahoveisi 2 سال پیش مطرح شد
0

سلام این آموزش میتونه کمکت کنه


بردیا مظاهری
تخصص : مهندس نرم افزار
@l3ardia 3 هفته پیش مطرح شد
0
```
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-> استفاده کنی.


علی جمالی
تخصص : برنامه نویس وب
@alijamali 3 هفته پیش مطرح شد
0

سلام دوست عزیز
میتونی از تابع request() در لاراول استفاده کنی بجای اینهمه کار


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام