2016-10-28 6 views
-1

Я тестирую некоторые электронные письма HTML, которые я буду отправлять клиентам, и я столкнулся с проблемой, когда дело касается изображений в Gmail.Почему Gmail конвертирует пробелы в «+» в изображении src?

Изображение, которое я включаю в электронное письмо, поступает с веб-сайта в прямом эфире. Все остальные почтовые клиенты загружают изображения, но Gmail дает мне сломанные изображения.

Я выяснил, что проблема связана с интервалом в именах файлов изображений. Gmail преобразует пробелы в «+».

https://www.test.com/files/a например продукт image.jpg --->https://www.test.com/files/a+product+image.jpg

Я пытался заменить ссылку на изображение пространства% 20, но Gmail по-прежнему преобразует их в «+» и, следовательно, нарушая изображение.

Я понимаю, что изображения в идеале не должны иметь пробелов в них, но веб-сайт содержит тысячи продуктов, а изменение имен файлов в данном случае не является вариантом.

Кто-нибудь знает причину, по которой Gmail изменит пространство на +? Или еще лучше, способ решить эту проблему?

Благодаря

Люк

+0

Сырые пространства не допускается в URL , а '% 20' и' + 'должны быть эквивалентны в URL. Похоже, что есть проблема с вашим сервером, если он не может корректно обрабатывать '+'. – Quentin

+0

Если это относится только к одному или нескольким изображениям, загружайте их и помещайте их на веб-сервер самостоятельно. – Niqql

+0

Имеются тысячи изображений, и выбранное изображение будет зависеть от продукта, выбранного клиентом. Все это должно происходить автоматически, так что это не вариант. Я посмотрю на сервер и посмотрю, правильно ли он обрабатывает +. благодаря –

ответ

1

URL не может содержать пробелы, те должны быть закодированы как + или %20. См RFC 1738

Символ пробела является небезопасным

и

Все небезопасные символы всегда должны быть закодированы в URL