laravel

Kirim Email di Laravel Menggunakan SMTP

Kirim Email di Laravel Menggunakan SMTP
Mengirim email adalah persyaratan umum untuk aplikasi web apa pun. Beberapa kegunaan umum dari pengiriman email termasuk memverifikasi pendaftaran pengguna, mendapatkan umpan balik dari pengguna, memberikan opsi untuk menghubungi administrator situs, dll. Kerangka kerja Laravel berisi beberapa paket untuk mengirim email dari proyek Laravel. SMTP, Mailgun, Postmark, dan Amazon SES digunakan di Laravel untuk mengirim email sederhana, transaksional, dan massal. Laravel memiliki perpustakaan pengiriman email bernama SwiftMailer untuk mengirim email dengan template email. Tutorial ini menunjukkan cara mengirim email sederhana menggunakan SMTP.

Pengaturan dan Konfigurasi SMTP

Buka .env file dari folder root proyek Laravel dan atur konfigurasi sesuai dengan akun Gmail Anda. Anda harus mengaktifkan "Aplikasi yang kurang aman” opsi akun Gmail Anda untuk mengirim email menggunakan server SMTP Gmail.

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=YOUR_EMAIL_ADDRESS
MAIL_PASSWORD=PASSWORD_ANDA
MAIL_ENCRYPTION=ssl

***Catatan:

Anda mungkin menerima kesalahan autentikasi SMTP saat mengirim email menggunakan server akun Gmail SMTP. Buka StreamBuffer.php file dari lokasi berikut.

/var/www/html/laravelpro/vendor/swiftmailer/swiftmailer/
lib/kelas/Swift/Transport/StreamBuffer.php

Temukan dan ganti baris 259 dengan baris berikut untuk mengautentikasi server SMTP Gmail.

$options['ssl'] = array('verify_peer' => false, 'verify_peer_name' => false,
'allow_self_signed' => benar);

Mengirim Email Menggunakan SMTP

Lakukan langkah-langkah berikut untuk mengirim email menggunakan formulir kontak dengan membuat kelas pengontrol, tampilan, dan email.

Langkah:

Jalankan perintah berikut dari terminal untuk membuat Pengontrol Email untuk menunjukkan formulir kontak dan mengirim email menggunakan kelas surat Laravel.

$ php artisan make:controller EmailController

Jalankan perintah berikut untuk membuat kelas email bernama mengirim email. Ini akan membuat kelas di bawah Aplikasi\Mail map.

$ php artisan make:pengiriman emailEmail

Buat file tampilan bernama kirim email.Pedang.php dengan kode berikut untuk menampilkan formulir kontak.




Hubungi Kami Formulir












Hubungi kami




@if (hitung($kesalahan) > 0)



    @foreach ($errors->all() sebagai $error)
  • $kesalahan

  • @endforeach


@berakhir jika
@if ($pesan = Sesi::get('berhasil'))


$pesan

@berakhir jika



csrf_field()


















Buka Pengontrol Email dan ubah kode dengan kode berikut following. Itu Surat fasad dan mengirim email kelas email diimpor di awal file. Di sini, indeks() metode akan memuat file tampilan di browser untuk menampilkan formulir kontak. Setelah mengirimkan formulir, Kirim() metode akan dipanggil. Metode ini akan memvalidasi formulir dengan menggunakan aturan validasi. Itu $data array digunakan untuk mengirim nilai-nilai nama dan pesan bidang ke dalam mengirim email kelas. Selanjutnya, email dikirim menggunakan Surat tatapan. Anda harus menetapkan alamat email penerima yang valid di in untuk() fungsi sebelum mengeksekusi kode. Jika email berhasil terkirim, maka pesan sukses akan tercetak.

namespace App\Http\Controllers;
gunakan Illuminate\Http\Request;
gunakan Illuminate\Support\Facades\Mail;
gunakan App\Mail\sendingEmail;
kelas EmailController memperluas Controller

indeks fungsi()

kembali tampilan('kirim email');

fungsi kirim(Permintaan $permintaan)

$this->validate($request, [
'nama' => 'wajib',
'email' => 'wajib|email',
'pesan' => 'wajib'
]);
$data = larik(
'nama' => $request->nama,
'pesan' => $request->pesan
);
Mail::to('Alamat Email Penerima')->send(new sendEmail($data));
return back()->with('success', 'Terima kasih telah menghubungi kami!');

Buka mengirim email kelas dan ubah kode dengan kode berikut:. Subjek email ditentukan di dalam membangun() metode dan email_templat view digunakan untuk memformat konten email, dibuat pada langkah berikutnya. Nilai yang diturunkan dari Pengontrol Email disimpan di $email objek dan dilewatkan dalam email_templat melihat.

aplikasi namespace\Mail;
gunakan Illuminate\Bus\Queueable;
gunakan Illuminate\Contracts\Queue\ShouldQueue;
gunakan Illuminate\Mail\Mailable;
gunakan Illuminate\Queue\SerializesModels;
kelas pengirimanEmail memperluas Mailable

gunakan Queueable, SerializesModels;
/**
* Buat contoh pesan baru.
*
* @kembali batal
*/
$email publik;
fungsi publik __construct($email)

$this->email = $email;

/**
* Bangun pesannya.s
*
* @kembalikan $ini
*/
membangun fungsi publik ()

return $this->subject('Pesan dari Pengunjung')
-> lihat('email_template')
->with('email', $this->email);

Buat file tampilan template bernama email_templat.Pedang.php dengan kode berikut untuk mengirim email yang diformat ke pengirim. Nilai yang diturunkan dari mengirim email kelas digunakan dalam template ini.

Halo,
saya $email['nama']


Pertanyaan saya adalah tentang topik berikut:


$emails['pesan'] .


Akan sangat membantu jika Anda memberi saya tanggapan segera.Terima kasih.

Sekarang, buka jaring.php file dan tambahkan kode rute berikut untuk membuka formulir kontak dan mengirim email.

Rute::get('/kontak', '[dilindungi email]');
Rute::post('/sendemail/send', '[email protected]');

Jalankan URL berikut dari browser untuk memuat formulir kontak.

http://localhost/laravelpro/public/contact

Isi formulir dan klik Mengirim pesan tombol untuk mengirim isi formulir ke Kirim() metode Pengontrol Email kelas.

Jika email berhasil terkirim, maka Anda akan mendapatkan pesan sukses, seperti terlihat pada gambar berikut following.

Sekarang, buka akun Gmail yang Anda gunakan untuk mengirim email di Kirim() metode Pengontrol Email kelas. Jika Anda membuka email tersebut, maka Anda akan mendapatkan konten email berikut, yang dihasilkan dengan menggunakan email_templat Lihat file.

Video tutorial

Kesimpulan

Ada beberapa cara dalam kerangka Laravel untuk mengirim email. Cara paling sederhana dan termudah untuk mengirim email di Laravel ditunjukkan dalam tutorial ini. Jika Anda memiliki akun Gmail, maka Anda dapat dengan mudah mengirim email dengan mengikuti langkah-langkah yang ditunjukkan dalam tutorial ini. Server SMTP Gmail digunakan di sini untuk mengirim email, dan tugas pengiriman email diuji dengan menjalankan kode dari server lokal. Tutorial ini hanya menunjukkan tugas pengiriman email berformat HTML. Anda juga dapat melakukan tugas lain, seperti lampiran file, nama pengirim, dll., dengan menggunakan metode lain dari Surat kelas.

Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...
Game Remaster HD untuk Linux yang Belum Pernah Rilis Linux Sebelumnya
Banyak pengembang dan penerbit game datang dengan remaster HD dari game lama untuk memperpanjang umur waralaba, harap penggemar meminta kompatibilitas...
Cara Menggunakan AutoKey untuk Mengotomatiskan Game Linux
AutoKey adalah utilitas otomatisasi desktop untuk Linux dan X11, diprogram dengan Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsionalitas MA...