我有这样的电子邮件刀片:
rd /s /q "%%~#"
在emails.layouts.general
中<?php
$title = 'title';
$text = 'text';
?>
@include('emails.layouts.general')
我发送电子邮件,如:
<h1>{{$title}}</h1>
<p>{{$text}}</p>
有没有人知道如何在刀片中定义主题:
$subject = 'some subject'
\Illuminate\Support\Facades\Mail::send($template, [],
function ($m) {
$m->to('test@test.com', 'test test')->subject($subject);
});
并在发送电子邮件时设置此主题?
编辑:
我需要这样的东西: 在电子邮件刀片中设置电子邮件主题:
<?php
$subject = 'subject';
$title = 'title';
$text = 'text';
?>
或在控制器中:
<?php
$title = 'title';
$text = 'text';
$subject = 'subject';
Mail::setEmailSubjectForNextEmail($subject);
?>
@include('emails.layouts.general
我想在刀片模板中设置主题变量,而不是在控制器中,因为我有超过50封电子邮件,我希望前面的开发人员只使用刀片模板而不是控制器来工作(编辑)。
答案 0 :(得分:0)
尝试使用:
@php
$message->setSubject('New subject');
@endphp
答案 1 :(得分:-1)
您需要将$subject
传递回回调并传递到模板中。 subject
方法设置邮件主题行,但不将其传递到电子邮件模板
$subject = 'Your Subject';
Mail::send($template, ['subject'=>$subject,'other_thing'=>'what you like'], //this will pass it into the blade template
function ($m) use($subject){ //you need to pass into the use clause to make the variable available in the scope of the callback
$m->to('test@test.com', 'test test')->subject($subject);
}
);
您不需要为模板顶部的变量赋值,只要您将它们放入第二个参数的数组中就可以使用它们。
刀片模板:
<div>{{$subject}}</div> <!-- "Your Subject" -->
<span>{{$other_thing}}</span><!-- "what you like" -->