Rumah > rangka kerja php > Laravel > Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan e-mel

Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan e-mel

WBOY
Lepaskan: 2023-11-02 09:13:59
asal
1425 orang telah melayarinya

Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan e-mel

Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan e-mel

Laravel ialah rangka kerja pembangunan PHP yang popular yang menyediakan fungsi penghantaran dan penerimaan e-mel yang mudah. Melalui komponen Mel dan Pemberitahuan Laravel, kami boleh menghantar dan menerima e-mel dengan mudah. Artikel ini akan memperkenalkan anda kepada cara menggunakan fungsi ini untuk menghantar dan menerima e-mel dalam Laravel, dan memberikan contoh kod khusus.

1. Menghantar e-mel

  1. Mengkonfigurasi perkhidmatan penghantaran e-mel

Pertama, kita perlu menyediakan perkhidmatan penghantaran e-mel dalam fail konfigurasi Laravel. Buka fail config/mail.php, cari pilihan pemacu, tetapkannya kepada smtp, dan isikan maklumat pelayan SMTP yang sepadan.

Contoh:

'driver' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailtrap.io'),
'port' => env('MAIL_PORT', 2525),
'from' => [
    'address' => env('MAIL_FROM_ADDRESS', 'noreply@example.com'),
    'name' => env('MAIL_FROM_NAME', 'Example'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
Salin selepas log masuk
  1. Membuat kelas mel

Seterusnya, kita perlu mencipta kelas mel yang diwarisi daripada kelas Mel Laravel. Dalam kelas ini, kita boleh menentukan maklumat seperti subjek, penerima dan kandungan e-mel.

Contoh:

namespace AppMail;

use IlluminateBusQueueable;
use IlluminateContractsQueueShouldQueue;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;

class WelcomeEmail extends Mailable
{
    use Queueable, SerializesModels;

    protected $user;

    public function __construct($user)
    {
        $this->user = $user;
    }

    public function build()
    {
        return $this->view('emails.welcome')
            ->subject('Welcome to our website')
            ->with([
                'user' => $this->user,
            ]);
    }
}
Salin selepas log masuk
  1. Menulis paparan mel

Kemudian, kita perlu mencipta paparan mel untuk menentukan kandungan mel. Buat fail welcome.blade.php dalam folder sumber/pandangan/e-mel dan tulis kandungan e-mel.

Contoh:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to our website</title>
</head>
<body>
    <h1>Welcome, {{ $user->name }}!</h1>
    <p>Thank you for signing up on our website.</p>
</body>
</html>
Salin selepas log masuk
  1. Hantar mel

Akhir sekali, kita boleh memanggil kaedah hantar kelas mel dalam pengawal atau tempat lain untuk menghantar mel.

Contoh:

use IlluminateSupportFacadesMail;
use AppMailWelcomeEmail;
use AppUser;

$user = User::find(1);
Mail::to($user->email)->send(new WelcomeEmail($user));
Salin selepas log masuk

2. Penerimaan e-mel

  1. Mengkonfigurasi perkhidmatan penerimaan e-mel

Pertama, kita perlu menyediakan perkhidmatan penerimaan e-mel dalam fail konfigurasi Laravel. Buka fail config/mail.php, cari pilihan pengambilan, tetapkannya kepada benar dan isikan maklumat peti masuk yang sepadan.

Contoh:

'fetching' => true,
'driver' => env('MAIL_FETCH_DRIVER', 'imap'),
'host' => env('MAIL_HOST', 'imap.mailtrap.io'),
'port' => env('MAIL_PORT', 993),
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
Salin selepas log masuk
  1. Membuat kelas menerima e-mel

Seterusnya, kita perlu mencipta kelas menerima e-mel yang diwarisi daripada kelas Pemberitahuan Laravel. Dalam kelas ini, kita boleh menentukan logik pemprosesan e-mel.

Contoh:

namespace AppNotifications;

use IlluminateBusQueueable;
use IlluminateContractsQueueShouldQueue;
use IlluminateNotificationsNotification;

class WelcomeNotification extends Notification
{
    use Queueable;

    public function via($notifiable)
    {
        return ['mail'];
    }

    public function toMail($notifiable)
    {
        // 处理邮件逻辑
    }
}
Salin selepas log masuk
  1. Memproses e-mel

Akhir sekali, kami boleh menghubungi kaedah pemberitahuan kelas pemberitahuan dalam pengawal atau tempat lain untuk memproses e-mel.

Contoh:

use AppUser;
use AppNotificationsWelcomeNotification;

$user = User::find(1);
$user->notify(new WelcomeNotification());
Salin selepas log masuk

Melalui langkah di atas, kita boleh menggunakan komponen Mel dan Pemberitahuan untuk melaksanakan fungsi penghantaran dan penerimaan e-mel dalam Laravel. Sila ubah suai dan laraskan kod dalam contoh dengan sewajarnya mengikut keperluan sebenar. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Cara menggunakan Laravel untuk melaksanakan fungsi penghantaran dan penerimaan e-mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan