Показать тему и сообщение электронной почты отправителя с Mail :: to

У меня есть приведенный ниже код для отправки электронных писем с помощью функции Mail :: to. Но я не понимаю, как установить тему и тело сообщения с помощью Mail :: to function. У меня есть код ниже, который работает для отправки электронных писем, но без темы, и сообщение $ также не отображается в электронном письме.

Вы знаете, как этого добиться? (Укажите тему и сообщение $ request-> в электронном письме, используя Mail :: to)

public function send(Request $request, $id){

    $conference = Conference::find($id);

    if ($request->send_to == "participant"){
      // if is to send only 1 email the Mail::to is called directly here 
        Mail::to($request->participant_email)->send(new Notification($conference));
        return;
    }
    if ($request->send_to == "all"){
        // $sendTo = query to get a set of emails to send the email
    }
    else{
        // $sendTo = query to get a another set of emails to send the email
    }

    foreach($sendTo as $user){
        $usersEmail[] = $user->email;
    }

    $message = $request->message;
    $subject = $request->subject;

    foreach ($usersEmail as $userEmail){
        Mail::to($userEmail)->send(new Notification($conference, $message));
    }
}

В классе Уведомление у меня есть:

class Notification extends Mailable
{
    public $conference;

    public function __construct(Conference $conference)
    {
        $this->conference = $conference;
    }

    public function build()
    {
        return $this->markdown('emails.notification');
    }
}

В представлении notifications.blade.php у меня есть:

@component('mail::message')
# Notification relative to {{$conference->name}}

{{$message}}

Thanks,<br>
{{ config('app.name') }}
@endcomponent
Стоит ли изучать 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 и хотите разрабатывать...
0
0
532
3

Ответы 3

Попробуйте что-то вроде этого:

$emailData = array(
/* Email data */
'email'     => '[email protected]',
'name'      => 'User name',
'subject'   => 'Email subject',
);

Mail::send('emails.template_name', ['emailData' => $emailData], function ($m) use ($emailData) {    // here it is a closure function, in which $emailData data is available in $m
$m->from('[email protected]', 'Domain Name');

$m->to($emailData['email'], $emailData['name'])->subject($emailData['subject']);
});

Спасибо, но вроде появляется сообщение «Для [mail] путь подсказки не определен».

user9977616 26.06.2018 12:55

@ Джон тебя не понял

Mayank Pandeyz 26.06.2018 14:14
try 
{ 
    Mail::send('emails.contact_form', ['data' => $data], 
    function($message) use ($data)
    {
        $message->from('[email protected]', 'ShortName');
        $message->to( $data['adminEmail'] )->subject("Contact Form" );
    }); 
    return true;
}
catch (\Exception $ex) {
    $ex->getMessage();
    return false;            
}

Спасибо, но появляется сообщение «Для [mail] путь подсказки не определен».

user9977616 26.06.2018 13:02

Убедитесь, что вы создали contact_form.blade.php, созданный в папке resources / views / emails.

Mohit Tambi 27.06.2018 11:16

Поскольку у вас уже есть один шаблон в вашем коде, используйте этот шаблон, передайте сообщение в шаблон

$subject = 'Email Subject';
Mail::send('emails.notification', ['message' => $message], function ($mail) use ($userEmail, $subject) {
    $mail->from('[email protected]', 'Domain Name');
    $mail->to($userEmail)->subject($subject);
});

Спасибо, похоже, что "htmlspecialchars () ожидает, что параметр 1 будет строкой, заданным объектом".

user9977616 26.06.2018 14:51

может быть проблема в сообщении, настройте статическое сообщение в блейд-файле уведомлений и попробуйте.

DsRaj 26.06.2018 15:36

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