diff --git a/lib/email/styles.rb b/lib/email/styles.rb
index c1965b7fde9..bc9c33581e0 100644
--- a/lib/email/styles.rb
+++ b/lib/email/styles.rb
@@ -20,7 +20,7 @@ module Email
img['style'] = "max-width: 694px;"
end
- if img['src'][0] == "/"
+ if img['src'] =~ /^\/[^\/]/
img['src'] = "#{Discourse.base_url}#{img['src']}"
end
end
diff --git a/spec/components/email/styles_spec.rb b/spec/components/email/styles_spec.rb
index e845c5862e9..b3f22186145 100644
--- a/spec/components/email/styles_spec.rb
+++ b/spec/components/email/styles_spec.rb
@@ -40,6 +40,11 @@ describe Email::Styles do
expect(frag.at("img")["src"]).to eq("#{Discourse.base_url}/some-image.png")
end
+ it "it does not change protocol relative paths" do
+ frag = basic_fragment("")
+ expect(frag.at("img")["src"]).to eq("//www.discourse.com/some-image.gif")
+ end
+
it "strips classes and ids" do
frag = basic_fragment("