Saya menggunakan fungsi Laravel Mail untuk mengirim email. Berikut ini adalah app/config/mail.php
pengaturan file saya .
'driver' => 'sendmail',
'host' => 'smtp.gmail.com',
'port' => 587,
'from' => array('address' => '[email protected]', 'name' => 'MyName'),
'encryption' => 'tls',
'username' => 'myUsername',
'password' => "password",
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
Metode Surat Pengontrol
//Send Mail
Mail::send('sendMail', array('key' => 'value'), function($message)
{
$message->to('[email protected]', 'Sender Name')->subject('Welcome!');
});
Ketika saya menjalankan kode itu memberi saya pesan kesalahan berikut:
Swift_TransportException
Kode respons yang diharapkan 220 tetapi mendapat kode "", dengan pesan ""
Saya telah membuat SendMail.php
file dalam tampilan yang berisi beberapa data.
Bagaimana cara mengatasi pesan kesalahan ini?
Jawaban:
Masalah ini umumnya dapat terjadi ketika Anda tidak mengaktifkan verifikasi dua langkah untuk gmail
akun (yang dapat dilakukan di sini ) yang Anda gunakan untuk mengirim email
. Jadi pertama-tama, aktifkan two step verification
, Anda dapat menemukan banyak sumber daya untuk mengaktifkan verifikasi dua langkah. Setelah Anda mengaktifkannya, maka Anda harus membuat file app password
. Dan gunakan app password
di .env
file Anda . Setelah selesai, .env
file Anda akan terlihat seperti.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=<<your email address>>
MAIL_PASSWORD=<<app password>>
MAIL_ENCRYPTION=tls
dan milikmu mail.php
<?php
return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => '<<your email>>', 'name' => '<<any name>>'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,
];
Setelah melakukannya, jalankan php artisan config:cache
dan php artisan config:clear
, kemudian periksa, email akan berfungsi.