Yii2 swiftmailer режет Html-теги

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Yii2 swiftmailer режет Html-теги

Сообщение Йож »

Добрый день!

Код: Выделить всё

Yii::$app->mailer->compose('contact', ['model' => $this])
                ->setTo([$this->email, Yii::$app->params['adminEmail']])
                ->setReplyTo($this->email)
                ->setSubject($this->getDepartmentLabel($this->department))
                ->send();
В представлении должен быть кусок с параметром $model->body. При отправке письма html-теги режутся.

Как этого не допустить?

Спасибо.
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Yii2 swiftmailer режет Html-теги

Сообщение Loveorigami »

Через какой layout отсылаете? Html или txt?
skynin
Сообщения: 400
Зарегистрирован: 2017.12.12, 10:09

Re: Yii2 swiftmailer режет Html-теги

Сообщение skynin »

Йож писал(а): 2018.05.23, 05:47 Добрый день!

Код: Выделить всё

Yii::$app->mailer->compose('contact', ['model' => $this])
обычно письмо формируется в двух вариантах.
поэтому делается два шаблона.
и оба указываются:

Код: Выделить всё

->compose(
	['html' => 'contact-html', 'text' => 'contact-text'],
	['model' => $this]
)
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Yii2 swiftmailer режет Html-теги

Сообщение Йож »

Уточняю: отсылаются оба варианта. С HTML в самом письме все порядке..
HTML-теги режутся только у параметров, например: $model->body.

Наверно из-за этого:
"Примечание: содержание файла почтового сообщения формируется через \yii\mail\MessageInterface::toString(), правда это зависит от почтового расширения, которое вы используете в своем приложении."
https://www.yiiframework.com/doc/guide/ ... al-mailing

Как это обойти?

Есть вариант renderPartial нужного вида, потом подставлять в mailer как html-текст, но это как-то не по науке чтоли, так как обходится layout для писем.
Ответить