Php Yii2:如何访问模板邮件中的参数?

Php Yii2:如何访问模板邮件中的参数?,php,yii2,Php,Yii2,我有以下代码: Yii::$app->mailer->compose('layouts/html', [ 'name' => $this->name, 'email' => $this->email, 'subject' => $this->subject, 'message' => $this->body])

我有以下代码:

Yii::$app->mailer->compose('layouts/html', [
                'name' => $this->name,
                'email' => $this->email,
                'subject' => $this->subject,
                'message' => $this->body])
                ->setTo($this->email)
                ->setFrom([$this->email])
                ->setSubject($this->subject)
                ->send();

如何在layout/html.php中访问姓名、电子邮件、主题和消息?

很简单,您可以使用
$
符号访问姓名、电子邮件、主题和消息

$name, $email, $subject, $message

在您的示例中,您需要替换模板的名称。
因为不需要显式指定layouts/html

Yii::$app->mailer->compose('mytemplate',
    ['name' => $this->name,
        'email' => $this->email,
        'subject' => $this->subject,
        'message' => $this->body])
    ->setTo($this->email)
    ->setFrom([$this->email])
    ->setSubject($this->subject)
    ->send();
邮件/mytemplate.php的示例内容

<?php
echo "$subject<br> $name<br> $email<br> $message";

我添加了带有代码的模板:名称:电子邮件:主题:内容:但日志:未定义变量:名称、电子邮件、主题、,message您是否正在使用
yii\swiftmailer\Mailer
?参数
message
和邮件视图中为邮件实例保留的其他变量。试着改变它<代码>'name1'=>$this->name,'email1'=>$this->email,'subject1'=>$this->subject,'message1'=>$this->body
使用$name1、$email1、$subject1、$message1访问它,谢谢Jayson,我修复了他们:你怎么能修复这个问题,我也面临着同样的问题。我解决不了。请帮助解决这个问题。