diff --git a/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php b/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php
index e9b04b71ab734..df2c9f91c3cf2 100644
--- a/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php
+++ b/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php
@@ -50,10 +50,6 @@ public function render(Message $message): void
'email' => new WrappedTemplatedEmail($this->twig, $message),
]);
- if ($template = $message->getTemplate()) {
- $this->renderFull($message, $template, $vars);
- }
-
if ($template = $message->getTextTemplate()) {
$message->text($this->twig->render($template, $vars));
}
@@ -68,29 +64,6 @@ public function render(Message $message): void
}
}
- private function renderFull(TemplatedEmail $message, string $template, array $vars): void
- {
- $template = $this->twig->load($template);
-
- if ($template->hasBlock('subject', $vars)) {
- $message->subject($template->renderBlock('subject', $vars));
- }
-
- if ($template->hasBlock('text', $vars)) {
- $message->text($template->renderBlock('text', $vars));
- }
-
- if ($template->hasBlock('html', $vars)) {
- $message->html($template->renderBlock('html', $vars));
- }
-
- if ($template->hasBlock('config', $vars)) {
- // we discard the output as we're only interested
- // in the side effect of calling email methods
- $template->renderBlock('config', $vars);
- }
- }
-
private function convertHtmlToText(string $html): string
{
if (null !== $this->converter) {
diff --git a/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php b/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php
index d840e268c4847..e487055706892 100644
--- a/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php
+++ b/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php
@@ -20,21 +20,10 @@
*/
class TemplatedEmail extends Email
{
- private $template;
private $htmlTemplate;
private $textTemplate;
private $context = [];
- /**
- * @return $this
- */
- public function template(?string $template)
- {
- $this->template = $template;
-
- return $this;
- }
-
/**
* @return $this
*/
@@ -55,11 +44,6 @@ public function htmlTemplate(?string $template)
return $this;
}
- public function getTemplate(): ?string
- {
- return $this->template;
- }
-
public function getTextTemplate(): ?string
{
return $this->textTemplate;
@@ -90,7 +74,7 @@ public function getContext(): array
*/
public function __serialize(): array
{
- return [$this->template, $this->htmlTemplate, $this->textTemplate, $this->context, parent::__serialize()];
+ return [$this->htmlTemplate, $this->textTemplate, $this->context, parent::__serialize()];
}
/**
@@ -98,7 +82,7 @@ public function __serialize(): array
*/
public function __unserialize(array $data): void
{
- [$this->template, $this->htmlTemplate, $this->textTemplate, $this->context, $parentData] = $data;
+ [$this->htmlTemplate, $this->textTemplate, $this->context, $parentData] = $data;
parent::__unserialize($parentData);
}
diff --git a/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php b/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php
index 3c30821bb45e4..3c40e6d7ee049 100644
--- a/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php
@@ -15,9 +15,6 @@
use Symfony\Bridge\Twig\Mime\BodyRenderer;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Component\Mime\Part\Multipart\AlternativePart;
-use Symfony\Component\Mime\Part\Multipart\MixedPart;
-use Symfony\Component\Mime\Part\Multipart\RelatedPart;
-use Symfony\Component\Mime\Part\TextPart;
use Twig\Environment;
use Twig\Loader\ArrayLoader;
@@ -25,13 +22,13 @@ class RendererTest extends TestCase
{
public function testRenderTextOnly(): void
{
- $email = $this->prepareEmail(null, 'Text', null);
+ $email = $this->prepareEmail('Text', null);
$this->assertEquals('Text', $email->getBody()->bodyToString());
}
public function testRenderHtmlOnly(): void
{
- $email = $this->prepareEmail(null, null, 'HTML');
+ $email = $this->prepareEmail(null, 'HTML');
$body = $email->getBody();
$this->assertInstanceOf(AlternativePart::class, $body);
$this->assertEquals('HTML', $body->getParts()[0]->bodyToString());
@@ -40,7 +37,7 @@ public function testRenderHtmlOnly(): void
public function testRenderHtmlOnlyWithTextSet(): void
{
- $email = $this->prepareEmail(null, null, 'HTML');
+ $email = $this->prepareEmail(null, 'HTML');
$email->text('Text');
$body = $email->getBody();
$this->assertInstanceOf(AlternativePart::class, $body);
@@ -50,108 +47,16 @@ public function testRenderHtmlOnlyWithTextSet(): void
public function testRenderTextAndHtml(): void
{
- $email = $this->prepareEmail(null, 'Text', 'HTML');
+ $email = $this->prepareEmail('Text', 'HTML');
$body = $email->getBody();
$this->assertInstanceOf(AlternativePart::class, $body);
$this->assertEquals('Text', $body->getParts()[0]->bodyToString());
$this->assertEquals('HTML', $body->getParts()[1]->bodyToString());
}
- public function testRenderFullOnly(): void
- {
- $email = $this->prepareEmail(<<HTML{% endblock %}
-EOF
- , null, null);
- $body = $email->getBody();
- $this->assertInstanceOf(AlternativePart::class, $body);
- $this->assertEquals('Subject', $email->getSubject());
- $this->assertEquals('Text', $body->getParts()[0]->bodyToString());
- $this->assertEquals('HTML', $body->getParts()[1]->bodyToString());
- }
-
- public function testRenderFullOnlyWithTextOnly(): void
- {
- $email = $this->prepareEmail(<<getBody();
- $this->assertInstanceOf(TextPart::class, $body);
- $this->assertEquals('', $email->getSubject());
- $this->assertEquals('Text', $body->bodyToString());
- }
-
- public function testRenderFullOnlyWithHtmlOnly(): void
- {
- $email = $this->prepareEmail(<<HTML{% endblock %}
-EOF
- , null, null);
- $body = $email->getBody();
- $this->assertInstanceOf(AlternativePart::class, $body);
- $this->assertEquals('', $email->getSubject());
- $this->assertEquals('HTML', $body->getParts()[0]->bodyToString());
- $this->assertEquals('HTML', $body->getParts()[1]->bodyToString());
- }
-
- public function testRenderFullAndText(): void
- {
- $email = $this->prepareEmail(<<HTML{% endblock %}
-EOF
- , 'Text', null);
- $body = $email->getBody();
- $this->assertInstanceOf(AlternativePart::class, $body);
- $this->assertEquals('Text', $body->getParts()[0]->bodyToString());
- $this->assertEquals('HTML', $body->getParts()[1]->bodyToString());
- }
-
- public function testRenderFullAndHtml(): void
- {
- $email = $this->prepareEmail(<<HTML{% endblock %}
-EOF
- , null, 'HTML');
- $body = $email->getBody();
- $this->assertInstanceOf(AlternativePart::class, $body);
- $this->assertEquals('Text full', $body->getParts()[0]->bodyToString());
- $this->assertEquals('HTML', $body->getParts()[1]->bodyToString());
- }
-
- public function testRenderHtmlWithEmbeddedImages(): void
- {
- $email = $this->prepareEmail(null, null, '
');
- $body = $email->getBody();
- $this->assertInstanceOf(RelatedPart::class, $body);
- $this->assertInstanceOf(AlternativePart::class, $body->getParts()[0]);
- $this->assertStringMatchesFormat('
', $body->getParts()[0]->getParts()[1]->bodyToString());
- $this->assertEquals('Some image data', base64_decode($body->getParts()[1]->bodyToString()));
- }
-
- public function testRenderFullWithAttachments(): void
- {
- $email = $this->prepareEmail(<<getBody();
- $this->assertInstanceOf(MixedPart::class, $body);
- $this->assertEquals('Text', $body->getParts()[0]->bodyToString());
- $this->assertEquals('Some text document...', base64_decode($body->getParts()[1]->bodyToString()));
- }
-
- private function prepareEmail(?string $full, ?string $text, ?string $html): TemplatedEmail
+ private function prepareEmail(?string $text, ?string $html): TemplatedEmail
{
$twig = new Environment(new ArrayLoader([
- 'full' => $full,
'text' => $text,
'html' => $html,
'document.txt' => 'Some text document...',
@@ -159,9 +64,6 @@ private function prepareEmail(?string $full, ?string $text, ?string $html): Temp
]));
$renderer = new BodyRenderer($twig);
$email = (new TemplatedEmail())->to('fabien@symfony.com')->from('helene@symfony.com');
- if (null !== $full) {
- $email->template('full');
- }
if (null !== $text) {
$email->textTemplate('text');
}
diff --git a/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php b/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php
index f5d9235a6d503..999ca4d078d58 100644
--- a/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php
@@ -13,9 +13,6 @@ public function test()
$email->context($context = ['product' => 'Symfony']);
$this->assertEquals($context, $email->getContext());
- $email->template($template = 'full');
- $this->assertEquals($template, $email->getTemplate());
-
$email->textTemplate($template = 'text');
$this->assertEquals($template, $email->getTextTemplate());