我想我想念一些非常简单的东西,但我有一个这样的剧本:
\Mail::to( User::all() )
->send( new NotificationEmail($notification) );
class NotificationEmail extends Mailable {
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @param Notification $notification
*
*/
public function __construct( Notification $notification ) {
$this->notification = $notification;
}
/**
* Build the message.
*
* @return $this
*/
public function build() {
$notification = $this->notification;
return $this
->from( [
'address' => \env( 'MAIL_DEFAULT_SENDER' ),
'name' => \env( 'APP_NAME' )
] )
->view( 'email.notification.ready' );
}
}
现在我希望电子邮件信息以
之类的内容开头亲爱的{用户的名字} 但我不知道如何获得将要收到该电子邮件的用户的名字。有没有办法解决这个问题?
答案 0 :(得分:0)
建议不要向所有用户发送电子邮件,因为收到电子邮件的人可以看到所有收件人,并且他们会收到您无法自定义的相同邮件以添加第一个名称用户。
您需要为每个用户创建单独的<AnchorPane fx:id="rootPane" prefHeight="408.0" prefWidth="330.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainController">
<children>
<ScrollPane fx:id="scrollPane" layoutX="28.0" layoutY="14.0" prefHeight="372.0" prefWidth="283.0">
<content>
<VBox fx:id="vBox" prefWidth="281.0" />
</content>
</ScrollPane>
</children>
</AnchorPane>
并将所有Mailable
排队。分别向所有用户发送电子邮件是一项非常耗时的任务,工作人员需要在后台处理队列。
Mailable
现在您可以传递$users = User::all();
foreach ($users as $user) {
Mail::to($user)->queue(new NotificationEmail($notification, $user));
}
实例,并且该视图上提供了该用户的名字:
$user