Contact Forma Mail sistemin əlavə edək.

Posted on 2022-03-13 22:55:16

Müraciət formasından email necə göndəririk?

Bundan əvvəl yazıdığım məqalədə Contact Form yaradırıq, contact səhifəsindən edilən müraciəti verilənlər bazasında saxlayırıq. Əslində biz həmin müraciəti bir başa administratora göndərə bilərik. Bunun üçün email sistemini proyektimizə əlavə edəcəyik.

Nümunə üçün bir dənə resources/views/parts/mail.blade.php faylını yaradaq. Daxilində belə bir kod yerləşdirək:

<h2>Salam, </h2> <br><br>
Yeni müraciətiniz var. Sizə : {{ $name }} yazıb.<br><br>
User details: <br><br>
Name: {{ $name }} <br>
Email: {{ $email }} <br>
Phone: {{ $phone }} <br>
Subject: {{ $subject }} <br>
Message: {{ $user_query }} <br><br>
Təşəkkür,
Voyager Blog.

Mail ayarlarını .env faylımızda yeniləməliyik. Hansı email servisindən istifadə ediriksə, oradan məlumatları götürüb .env faylda qeyd edirik.

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=25
MAIL_USERNAME=your_mailtrap_username
MAIL_PASSWORD=your_mailtrap_password
MAIL_ENCRYPTION=tls

Laravelin əsas mail servisini istifadə etmək üçün artisan əmrini istifadə etməliyik:

php artisan make:mail contact

App direktoriyasında Mail qovluğunu yaradır daxilində də contact.php. Əslində biz bir dənə email nümunəsi də yaradıb istifadə edə bilərdik. Lakin bu ayrı mövzudur, rahat özümüz artıq yaratmışıq.

ContactUsFormController.php faylına düzəliş etmək lazımdır. Müraciət yaddaşa verildikdən sonra, email vasitəsi ilə administratora göndərilməlidir. Buraya email göndərilməsini əlavə edək:

//  Send mail to admin
Mail::send('parts.mail', array(
'name' => $request->get('name'),
'email' => $request->get('email'),
'phone' => $request->get('phone'),
'subject' => $request->get('subject'),
'user_query' => $request->get('message'),
), function($message) use ($request){
$message->from($request->email);
$message->to('aytiqaqash@gmail.com', 'Admin')->subject($request->get('subject'));
});

Tam koda buradan baxa bilərsiniz. Hal-hazırda test olaraq yaradırıq deyə, mailtrap xidmətindən istifadə edərək test edə biləcəyik. Mailtrapdan qeydiyyat çox sadə olduğuna görə, izahına düşünürəm ehtiyac yoxdur. Rəsmi sayta buradan keçid edə bilərsiniz.

Beləliklə müraciət forması üçün email quraşdırıldı. Məqalənin hazırlanmasında bu məqalənin köməyi olub.

Test edək:

Göndəririk və Mailtrapda yoxlayırıq:

Testimiz uğurla keçdi və artıq email göndərilməsinin işlədiyini deyə bilərik.

Diqqətinizə təşəkkür edirəm.