Laravel - Menghantar Emel

Pengenalan

Hai sana, para maestro Laravel masa depan! Hari ini, kita akan melihat dunia yang menarik penghantaran emel dengan Laravel. Sebagai guru sains komputer tetangga yang ramah, saya di sini untuk menghidangkan anda dalam perjalanan ini langkah demi langkah. Jangan bimbang jika anda belum pernah menulis satu baris kod sebelum ini - kita akan mulakan dari asas dan naik ke arah atas. Pada akhir panduan ini, anda akan menghantar emel seperti seorang pro!

Laravel - Sending Email

Apa Itu Laravel?

Sebelum kita masuk ke dalam penghantaran emel, mari kitaambil sedikit masa untuk memahami apa itu Laravel. Laravel adalah kerangka PHP yang kuat yang membuat pengembangan web menjadi mudah. P想象它为一个装满所有酷炫小工具的工具箱,你需要构建惊人的网站 dan aplikasi web. Itu seperti memiliki pisau瑞士军刀 untuk pengembangan web!

Mengapa Menghantar Emel Dengan Laravel?

Anda mungkin berfikir, " Mengapa kita perlu menghantar emel dari aplikasi web kita?" Well, imagine you're running an online store. Anda mahu menghantar konfirmasi pesanan, kemaskini penghantaran, dan mungkin juga diskon hari jadi kepada pelanggan anda. Itu di mana fungsi emel Laravel datang berguna!

Menyiapkan Laravel untuk Penghantaran Emel

Langkah 1: Konfigurasi

Pertama-tama, kita perlu memberitahu Laravel bagaimana untuk menghantar emel. Buka fail .env anda (ia seperti catatan rahasia untuk aplikasi Laravel anda) dan tambahkan baris-baris ini:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls

Ganti your_username dan your_password dengan kredensial sebenar anda. Untuk ujian, saya menyarankan untuk menggunakan Mailtrap - itu seperti sandbox untuk emel!

Langkah 2: Membuat Mailable

Sekarang, mari kita buat Mailable pertama kita. Apa itu Mailable, anda bertanya? Ia seperti blueprint untuk emel anda. Jalankan perintah ini di terminal anda:

php artisan make:mail WelcomeMail

Ini akan membuat fail baru di app/Mail/WelcomeMail.php. Buka fail ini dan tambahkan beberapa kandungan:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;

public function __construct()
{
//
}

public function build()
{
return $this->view('emails.welcome');
}
}

Ini memberitahu Laravel untuk menggunakan pandangan yang dipanggil welcome di folder emails untuk kandungan emel kita.

Langkah 3: Membuat Pandangan Emel

Mari kita buat pandangan itu! Buat fail baru di resources/views/emails/welcome.blade.php dan tambahkan beberapa HTML:

<!DOCTYPE html>
<html>
<head>
<title>Selamat Datang ke Aplikasi Kita!</title>
</head>
<body>
<h1>Selamat datang di atas kapal!</h1>
<p>Kami sangat gembira kerana anda menyertai kita. Siapkan diri untuk perjalanan yang menakjubkan!</p>
</body>
</html>

Menghantar Emel Pertama Anda

Sekarang, untuk bahagian yang menarik - benar-benar menghantar emel! Mari kita buat pengawal untuk menangani ini. Jalankan:

php artisan make:controller MailController

Buka fail pengawal baru dan tambahkan method ini:

<?php

namespace App\Http\Controllers;

use App\Mail\WelcomeMail;
use Illuminate\Support\Facades\Mail;

class MailController extends Controller
{
public function sendWelcomeEmail()
{
Mail::to('[email protected]')->send(new WelcomeMail());
return 'Emel berjaya dihantar!';
}
}

Method ini melakukan dua hal:

  1. Ia memberitahu Laravel untuk menghantar WelcomeMail ke '[email protected]'.
  2. Ia mengembalikan mesej kejayaan.

Ujian Emel Anda

Untuk menguji ini, tambahkan route baru di fail routes/web.php anda:

Route::get('/send-welcome-email', [MailController::class, 'sendWelcomeEmail']);

Sekarang, ketika anda melawat /send-welcome-email di pelayar anda, ia sepatutnya memicu proses penghantaran emel!

Ciri-ciri Emel Lanjut

Berpunca anda telah menguasai asas, Laravel menyediakan beberapa ciri lanjut menarik untuk emel:

Ciri Keterangan
Lampiran Menambah fail ke emel anda
Antrian Menghantar emel di belakang
Markdown Menggunakan Markdown untuk menulis emel anda
Pelokalan Menghantar emel dalam bahasa yang berbeza

Mari kita lihat bagaimana menambah lampiran:

public function build()
{
return $this->view('emails.welcome')
->attach(public_path('/files/terms.pdf'), [
'as' => 'terms.pdf',
'mime' => 'application/pdf',
]);
}

Ini melampirkan fail PDF ke emel anda. Menarik, kan?

Kesimpulan

Tahniah! Anda telah belajar bagaimana menghantar emel menggunakan Laravel. Ingat, latihan membuat sempurna, jadi jangan takut untuk bereksperimen dengan reka bentuk dan ciri emel yang berbeza. Siapa tahu? Anda mungkin akhirnya mencipta platform pemasaran emel yang besar!

Ingat, di dunia pemrograman, ralat adalah kesempatan untuk belajar. Jadi jika sesuatu tidak berjaya pada permulaan,ambil nafas dalam, nyahbug, dan cuba lagi. Anda mampu melakukannya!

Selamat pemrograman, dan moga emel anda sentiasa mencapai destinasi mereka!

Credits: Image by storyset