Rumah > rangka kerja php > Laravel > Laravel - Menghantar E-mel

Laravel - Menghantar E-mel

WBOY
Lepaskan: 2024-08-27 10:50:20
asal
510 orang telah melayarinya

Laravel menggunakan perpustakaan kaya ciri percuma SwiftMailer untuk menghantar e-mel. Menggunakan fungsi perpustakaan, kita boleh menghantar e-mel dengan mudah tanpa terlalu banyak kerumitan. Templat e-mel dimuatkan dengan cara yang sama seperti paparan, yang bermaksud anda boleh menggunakan sintaks Blade dan menyuntik data ke dalam templat anda.

Jadual berikut menunjukkan sintaks dan atribut fungsi send

Sintaks batalkan hantar(rentetan|array $view, array $data, Closure|string $callback)
Parameter
  • $view(rentetan|array) − nama paparan yang mengandungi mesej e-mel

  • $data(array) − tatasusunan data untuk dihantar untuk dilihat

  • $panggilan balik − panggilan balik Penutupan yang menerima contoh mesej, membolehkan anda menyesuaikan penerima, subjek dan aspek lain mesej mel

Pemulangan tiada apa
Penerangan Menghantar e-mel.

Dalam hujah ketiga, penutupan $callback menerima contoh mesej dan dengan kejadian itu kami juga boleh memanggil fungsi berikut dan mengubah mesej seperti yang ditunjukkan di bawah.

  • $mesej → subjek('Selamat Datang ke Titik Tutorial');
  • $mesej → from('email@example.com', 'En. Contoh');
  • $mesej → kepada('email@example.com', 'En. Contoh');

Beberapa kaedah yang kurang biasa termasuk −

  • $mesej → pengirim('email@example.com', 'En. Contoh');
  • $mesej → returnPath('email@example.com');
  • $mesej → cc('email@example.com', 'En. Contoh');
  • $mesej → bcc('email@example.com', 'En. Contoh');
  • $mesej → replyTo('email@example.com', 'En. Contoh');
  • $mesej → keutamaan(2);

Untuk melampirkan atau membenamkan fail, anda boleh menggunakan kaedah berikut −

  • $mesej → attach('path/to/attachment.txt');
  • $mesej → benam('path/to/attachment.jpg');

Mel boleh dihantar sebagai HTML atau teks. Anda boleh menunjukkan jenis mel yang anda ingin hantar dalam hujah pertama dengan menghantar tatasusunan seperti yang ditunjukkan di bawah. Jenis lalai ialah HTML. Jika anda ingin menghantar mel teks biasa, gunakan sintaks berikut.

Sintaks

Mail::send([‘text’=>’text.view’], $data, $callback);
Salin selepas log masuk

Dalam sintaks ini, hujah pertama mengambil tatasusunan. Gunakan teks sebagai nama kunci paparan sebagai nilai kunci.

Contoh

Langkah 1 − Kami kini akan menghantar e-mel daripada akaun Gmail dan untuk itu anda perlu mengkonfigurasi akaun Gmail anda dalam fail persekitaran Laravel - .env fail. Dayakan pengesahan 2 langkah dalam akaun Gmail anda dan buat kata laluan khusus aplikasi diikuti dengan menukar parameter .env seperti yang ditunjukkan di bawah.

.env

MAIL_DRIVER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
MAIL_USERNAME = your-gmail-username
MAIL_PASSWORD = your-application-specific-password
MAIL_ENCRYPTION = tls
Salin selepas log masuk

Langkah 2 − Selepas menukar fail .env laksanakan dua arahan di bawah untuk mengosongkan cache dan mulakan semula pelayan Laravel.

php artisan config:cache
Salin selepas log masuk

Langkah 3 − Buat pengawal yang dipanggil Laravel - Menghantar E-mel dengan melaksanakan arahan berikut.

php artisan make:controller Laravel - Menghantar E-mel --plain
Salin selepas log masuk

Langkah 4 − Selepas pelaksanaan berjaya, anda akan menerima output berikut −

Laravel - Menghantar E-mel

Langkah 5 − Salin kod berikut dalam

app/Http/Controllers/Laravel - Menghantar E-mel.php fail.

app/Http/Controllers/Laravel - Menghantar E-mel.php

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class Laravel - Menghantar E-mel extends Controller {
   public function basic_email() {
      $data = array('name'=>"Virat Gandhi");
   
      Mail::send(['text'=>'mail'], $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Basic Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Basic Email Sent. Check your inbox.";
   }
   public function html_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel HTML Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "HTML Email Sent. Check your inbox.";
   }
   public function attachment_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Testing Mail with Attachment');
         $message->attach('C:\laravel-master\laravel\public\uploads\image.png');
         $message->attach('C:\laravel-master\laravel\public\uploads\test.txt');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Email Sent with attachment. Check your inbox.";
   }
}
Salin selepas log masuk

Langkah 6 − Salin kod berikut dalam fail resources/views/mail.blade.php.

resources/views/mail.blade.php

<h1>Hi, {{ $name }}</h1>
l<p>Sending Mail from Laravel.</p>
Salin selepas log masuk

Langkah 7 − Tambahkan baris berikut dalam app/Http/routes.php.

app/Http/routes.php

Route::get('sendbasicemail','Laravel - Menghantar E-mel@basic_email');
Route::get('sendhtmlemail','Laravel - Menghantar E-mel@html_email');
Route::get('sendattachmentemail','Laravel - Menghantar E-mel@attachment_email');
Salin selepas log masuk

Langkah 8 − Lawati URL berikut untuk menguji e-mel asas.

http://localhost:8000/sendbasicemail
Salin selepas log masuk

Langkah 9 − Skrin output akan kelihatan seperti ini. Semak peti masuk anda untuk melihat output e-mel asas.

Basic Email Sent

Langkah 10 − Lawati URL berikut untuk menguji e-mel HTML.

http://localhost:8000/sendhtmlemail
Salin selepas log masuk

Langkah 11 − Skrin output akan kelihatan seperti ini. Semak peti masuk anda untuk melihat output e-mel html.

HTML Email

Langkah 12 − Lawati URL berikut untuk menguji e-mel HTML dengan lampiran.

http://localhost:8000/sendattachmentemail
Salin selepas log masuk

Langkah 13 − Anda boleh melihat output berikut

Email Sent

Nota − Dalam fail Laravel - Menghantar E-mel.php alamat e-mel dalam kaedah dari hendaklah alamat e-mel dari mana anda boleh menghantar alamat e-mel. Secara amnya, ia mestilah alamat e-mel yang dikonfigurasikan pada pelayan anda.

Atas ialah kandungan terperinci Laravel - Menghantar E-mel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php
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