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

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

WBOY
WBOYasal
2023-11-02 09:13:591334semak imbas

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'),
  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,
            ]);
    }
}
  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>
  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));

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'),
  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)
    {
        // 处理邮件逻辑
    }
}
  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());

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!

Kenyataan:
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