Laravel 5.4 меняет тему уцененной почты

Я использовал почтовые рассылки с уценкой, что является новой функцией в laravel 5.4. Я успешно реализовал отправителя почты. Кажется, тема письма названа именем класса mailable. Мне нужно изменить тему письма, и трудно найти какие-либо ресурсы по этому поводу.


person Shashika    schedule 17.04.2017    source источник
comment
Пожалуйста, добавьте код. Мы знаем, что такое уценка почты в laravel.   -  person Pankit Gami    schedule 17.04.2017
comment
Похоже, это проблема с реализацией ShouldQueue, у меня такая же проблема   -  person Mfoo    schedule 26.11.2018


Ответы (3)


В почтовых сообщениях laravel есть метод subject.

Вся конфигурация почтового класса выполняется в методе сборки. В этом методе вы можете вызывать различные методы, такие как from, subject, view и attach, чтобы настроить представление и доставку электронной почты. : https://laravel.com/docs/5.4/mail#writing-mailables

Вы можете добиться этого следующим образом:

/**
 * Build the message.
 *
 * @return $this
 */
public function build()
{
    return $this->from('[email protected]')
                ->subject('Your Subject')
                ->markdown('emails.orders.shipped');
}

Возможно, вам придется выполнить php artisan view:clear после изменения вашего класса.

person Pankit Gami    schedule 17.04.2017

Если тема электронной почты одинакова для всех электронных писем, просто перегрузите параметр $subject в своем расширенном классе Mailable.

/**
 * The subject of the message.
 *
 * @var string
 */
public $subject;
person rStyles    schedule 27.01.2019

полный код (проверено)

<?php 
    
    namespace App\Http\Controllers; 
    use Illuminate\Http\Request; 
    
     use Mail; 
    
    class ContactController extends Controller { 
    
         
    
         public function sendContactMail(Request $request) { 
            $this->validate($request, [
                'name' => 'required',
                'email' => 'required|email',
                'subject' => 'required',
                'user_message' => 'required'
            ]);
    
         
    
            Mail::send('contact_email',
                 array(
                     'name' => $request->get('name'),
                     'email' => $request->get('email'),
                     'subject' => $request->get('subject'),
                     'user_message' => $request->get('user_message'),
                 ), function($message) use ($request)
                   {
                      $message->from($request->email );
                      $message->subject("Your Subject");
                      $message->to('email to');
                   });
    
              return back()->with('success', 'Your message was sent successfully');
    
        }
    }
person Deepak Yadav    schedule 10.09.2020