Как передать динамический контент (контент, поступающий из базы данных) для отправки почты в laravel 5.4

Я новичок в laravel.i, у меня есть таблица email_template, и я хочу отправлять почту пользователю, когда пользователь забыл пароль. Я динамически извлекаю контент из базы данных, но я не знаю, как передать его в почтовую функцию в laravel.

Mail :: send ($ posts ['email_template'], ['USER' => $ post ['user]], функция ($ message) {

        $message->from('[email protected]')->subject('Welcome to laravel');

        $message->to('[email protected]');

    });

где $ posts ['email_template'] - это контент, который я хочу отправить, а пользователь - это переменная, которую я хочу заменить в контенте.

Возможный дубликат Laravel mail: передать строку вместо представления

miken32 08.10.2019 20:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
2 858
2

Ответы 2

Mail::send('emails.template', ['user' => $user, 'data' => $data], function ($message) use ($user, $data) {
    $message->from('[email protected]', 'Your Application');
    $message->to('[email protected]', $user->name)->subject('Welcome to laravel');
});

emails.template - это ваше представление - файл template.blade.php - /resources/views/emails/template.blade.php Теперь, на ваш взгляд, т.е. emails.template, вы можете:

{{ $user->name }}, {{ $data->address }}

Привет, спасибо, что у меня есть решение Mail :: send ([], ['USER' => 'savi'], function ($ message) use ($ template) {$ message-> from ('savita. [email protected] ') -> subject (' Добро пожаловать на ebiz '); $ message-> to ('[email protected]'); $ message-> setBody (htmlentities ($ template), 'text / html' );}); где htmlentities ($ template) - это данные, поступающие из базы данных. теперь проблема в том, что данные содержат html, который не отображается должным образом. он отображается, как в почте

savita dhadwad 23.08.2018 14:26
$template содержит html?
Chukwuemeka Inya 23.08.2018 14:40

$ template = <table> <td> Привет {{!! ПОЛЬЗОВАТЕЛЬ !!}} <td> Приятно познакомиться </td> </table>

savita dhadwad 23.08.2018 14:55

... и что вы получаете в электронном письме? Можете скинуть ссылку.

Chukwuemeka Inya 23.08.2018 15:01

Вы можете определить ADMIN_EMAIL и CC_EMAIL в файле констант в папке config

            $emailData = array(
                'name'=>'toName',
                'toEmail'=>$request->email
            );
            $this->sendEmail($emailData);

Электронная почта Функция

function sendEmail($emailData){
    $this->adminEmail = config('constant.ADMIN_EMAIL');
    $this->ccEmail = config('constant.CC_EMAIL');
    $this->toEmail = $emailData['toEmail'];
    $this->emailTemplate = $emailData['emailTemplate'];
    $data['emailInfo'] = array(
        'name'=>$emailData['name']
    );
    Mail::send('emails.yourTemplate', $data, function ($message) {
        //$message->attach($pathToFile);
        $message->from($this->adminEmail, 'Laravel Email Test');
        $message->to($this->toEmail)->cc($this->ccEmail);
    });

}

Другие вопросы по теме