diff --git a/lib/Newsletter/Renderer/Renderer.php b/lib/Newsletter/Renderer/Renderer.php index 4eaf8f1ea0..b2b34b65d2 100644 --- a/lib/Newsletter/Renderer/Renderer.php +++ b/lib/Newsletter/Renderer/Renderer.php @@ -130,6 +130,10 @@ class Renderer { function postProcessTemplate($template) { $DOM = $this->DOM_parser->parseStr($template); + // replace spaces in image tag URLs + foreach($DOM->query('img') as $image) { + $image->src = str_replace(' ', '%20', $image->src); + } $template = $DOM->query('.mailpoet_template'); // replace all !important tags except for in the body tag $template->html( diff --git a/tests/unit/Newsletter/RendererTest.php b/tests/unit/Newsletter/RendererTest.php index e07dd6d100..aeb2980daf 100644 --- a/tests/unit/Newsletter/RendererTest.php +++ b/tests/unit/Newsletter/RendererTest.php @@ -191,7 +191,7 @@ class RendererTest extends \MailPoetTest { ); $rendered_image = Image::render($image, $columnCount = 1); expect($rendered_image)->contains('src="//path-without-protocol"'); - } + } function testItRendersImageWithLink() { $newsletter = $this->newsletter['body']; @@ -444,11 +444,12 @@ class RendererTest extends \MailPoetTest { function testItPostProcessesTemplate() { $this->renderer->newsletter['body'] = json_decode(Fixtures::get('newsletter_body_template'), true); $template = $this->renderer->render(); - // !important should be stripped from everywhere except from - // with the