Laravel Mail Gönderim Rehberi (Laravel send email)
Laravel ile Mail Gönderme Rehberi
Laravel, uygulama geliştiricilerine çok sayıda özellik sunarak hızlı ve etkili bir şekilde mail gönderimi yapabilme imkânı sağlar. Bu makalede, Laravel ile mail gönderim işleminin nasıl gerçekleştirileceğini ve uygulamalı örnekleri inceleyeceğiz.
Mailer Ayarlarını Yapılandırma
Mail gönderiminden önce, config/mail.php
dosyasında veya .env dosyasında gerekli ayarları yapmanız gerekir.
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=example@example.com
MAIL_FROM_NAME="Your App Name"
Mail Sınıfı Oluşturma
Laravel’de mail içeriği oluşturmak için bir mailable sınıfı oluşturabilirsiniz. Bu işlem şu komutla yapılır:
php artisan make:mail WelcomeMail
Bu komutla App\Mail
klasörüne WelcomeMail
adında bir dosya oluşurur. Bu dosya içinde şu alanları düzenleyebilirsiniz:
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;
public $user;
public function __construct($user)
{
$this->user = $user;
}
public function build()
{
return $this->view('emails.welcome')
->with(['user' => $this->user]);
}
}
Mail Şablonu Oluşturma
Mailin içeriğini belirlemek için bir Blade dosyası oluşturabilirsiniz. Şu komutla şablon dosyasını oluşturun:
mkdir -p resources/views/emails
Ardından, resources/views/emails/welcome.blade.php
dosyasını oluşturun ve şu kodu ekleyin:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Merhaba, {{ $user['name'] }}</h1>
<p>Sitemize hoş geldiniz!</p>
</body>
</html>
Mail Gönderimi
Mail göndermek için şu kodu kullanabilirsiniz:
use App\Mail\WelcomeMail;
use Illuminate\Support\Facades\Mail;
Route::get('/send-mail', function () {
$user = ['name' => 'Mehmet Emin', 'email' => 'mehmeteminsayim@example.com'];
Mail::to($user['email'])->send(new WelcomeMail($user));
return "Mail gönderildi!";
});
Queue (Kuyruk) Kullanımı
Yoğun bir mail trafiği söz konusuysa, Laravel’in kuyruk mekanizmasını kullanarak performansı artırabilirsiniz. Öncelikle kuyruk yapılandırması yapılmalıdır:
php artisan queue:table
php artisan migrate
Mailable sınıfında implements ShouldQueue
özelliğini etkinleştirin:
class WelcomeMail extends Mailable implements ShouldQueue
Ardından, maili kuyrukta çalıştırmak için şu kodu kullanabilirsiniz:
Mail::to($user['email'])->queue(new WelcomeMail($user));
Sonuç
Laravel ile mail gönderme süreci basit ve esnektir. Mailer ayarlarından başlayarak, mailable sınıfları ve kuyruk yapılandırması ile performans artırımı sağlayabilirsiniz. Bu rehberle kendi projelerinizde mail gönderim fonksiyonunu kolayca uygulayabilirsiniz.