1) app/Mail/ContactEmail.php faylı
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class ContactEmail extends Mailable
{
use Queueable, SerializesModels;
public $details;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($details)
{
$this->details = $details;
}
/**
* Build the message.
*
* @return $this
*/
public function build(): static
{
return $this->subject('Yeni elektron müraciət daxil oldu.')
->replyTo('no-reply@gmail.com', 'No reply')
->markdown('emails.contact-mail');
}
}
2)resources/views/emails/contact-mail.blade.php
<p>Ad : {!! $details['name'] !!}</p>
<p>Soyad : {!! $details['surname'] !!}</p>
<p>Tel : {!! $details['phone'] !!}</p>
<p>Fayl : <a href="{!! $details['file'] !!}">Faylı endir</a></p>
{{ config('app.name') }} © {{ date('Y') }}
3) config/mail.php
<?php
return [
'default' => env('MAIL_MAILER', 'smtp'),
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN'),
],
'ses' => [
'transport' => 'ses',
],
'mailgun' => [
'transport' => 'mailgun',
],
'postmark' => [
'transport' => 'postmark',
],
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
'failover' => [
'transport' => 'failover',
'mailers' => [
'smtp',
'log',
],
],
],
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
'markdown' => [
'theme' => 'default',
'paths' => [
resource_path('views/vendor/mail'),
],
],
];
4) QiymetlendirmeController.php
<?php
namespace App\Http\Controllers\Front;
use App\Http\Controllers\Controller;
use App\Mail\ContactEmail;
use App\Models\Qiymetlendirme;
use App\Models\StaticPages;
use App\Traits\FileUploader;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class QiymetlendirmeController extends Controller
{
use FileUploader;
public function qiymetlendirmeStore(Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'surname' => 'required|string|max:255',
'phone' => 'required|string|max:255',
'file' => 'required|file|mimes:xls,xlsx|max:2048',
], [], [
'name' => __('static.ad'),
'surname' => __('static.soyad'),
'phone' => __('static.telefon'),
'file' => 'Fayl'
]);
$file = $this->fileSave('files/qiymetlendirme/', $request, 'file');
$qiymetlendirme = Qiymetlendirme::create([
'name' => $request->name,
'surname' => $request->surname,
'phone' => $request->phone,
'file' => $file,
]);
$details = [
'name' => $qiymetlendirme->name,
'surname' => $qiymetlendirme->surname,
'phone' => $qiymetlendirme->phone,
'file' => asset('files/qiymetlendirme/' . $file),
];
Mail::to('rahim.suleymanov94@gmail.com')->send(new ContactEmail($details));
return response()->json(['message' => __('static.qiymetlendirme_message')]);
}
}
Digər dildə:
EN