Laravel (5.7) Почта
Шаг 1: Установите Laravel
composer create-project laravel/laravel emailsend --prefer-dist
После этого нам нужно определить конфигурацию Email внутри файла .env .
Шаг 2: Конфигурация электронной почты
Для этого примера я использую mailtrap. Это своего рода приложение, которое вы можете использовать для проверки вашей электронной почты. После того, как вы зарегистрируетесь, вы увидите, что он предоставляет нам следующие подробности.
Host: smtp.mailtrap.io
Port: 25 or 465 or 2525
Username: // some username
Password: // some password
Auth: PLAIN, LOGIN and CRAM-MD5
TLS: Optional
Мы должны использовать эти детали в файле .env .
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME= // some username
MAIL_PASSWORD= // some password
MAIL_ENCRYPTION=null
Если вы используете Gmail или адрес электронной почты вашей компании, пожалуйста, замените свои уважаемые учетные данные здесь.
Шаг 3: Создайте класс Mailable
Перейдите в терминал и введите следующую команду.
php artisan make:mail SendMailable
Таким образом, он создаст этот файл внутри AppMailSendMailable.php. Теперь этот класс содержит одно свойство, и это имя, которое нам нужно передать при создании экземпляра этого класса.
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class SendMailable extends Mailable
{
use Queueable, SerializesModels;
public $name;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($name)
{
$this->name = $name;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->view('emails.name');
}
}
Здесь, в этом классе, я использовал параметризованный конструктор. Итак, у нас есть свойство $ name в нашем классе. Теперь нам нужно создать blade-файл внутри папки views . Мы можем использовать это свойство $ name в качестве данных файла view name.blade.php . Теперь сначала сформируйте эту точку зрения.
Шаг 4: Создайте файл представления.
Внутри папки views лучше создать новую папку с именем email и в этой папке создать один файл с именем name.blade.php.
<div>
Hi, This is : {{ $name }}
</div>
Шаг 5: Определите маршрут для отправки электронного письма
Внутри маршрутов >> файла web.php нам нужно определить маршрут для отправки электронного письма.
Route::get('/send/email', '[email protected]');
Теперь нам нужно написать код внутри функции mail, чтобы отправить электронное письмо.
// HomeController.php
use Illuminate\Support\Facades\Mail;
use App\Mail\SendMailable;
public function mail()
{
$name ='Krunal';
Mail::to('[email protected]')->send(new SendMailable($name));
return 'Email was sent';
}
Мы включили Mailable класс и Почтовый фасад. Для этого примера у нас есть жесткий код значения имени, но в примере в реальном времени у нас есть динамические данные для генерации электронной почты .
Шаг 6: Запустите сервер.
Подойдите к своему терминалу и нажмите следующую команду.
php artisan serve
Перейдите по этому адресу: http: // localhost: 8000 / send / email
Предыдущая: Laravel (5.7) Файловое хранилище
Далее: Laravel (5.7) Уведомления
Новый контент: Composer: менеджер зависимостей для PHP , R программирования