Van Pham
Van Pham

Reputation: 121

Yii2: How to access parameters in template mail?

I have the following code:

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();

How can I access the name, email, subject and message in layout/html.php?

Upvotes: 3

Views: 3356

Answers (2)

Ruslan Novikov
Ruslan Novikov

Reputation: 1527

In your example, you need to replace name of template.
Becouse layouts/html does not need to be explicitly specified.

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();

Sample content of mail/mytemplate.php :

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

And take default content for mail/layouts/html.php here

Upvotes: 1

Jayson
Jayson

Reputation: 1109

It's simple you can access name, email, subject and message with $ sign.

$name, $email, $subject, $message

Upvotes: 1

Related Questions