我的情况:
我正在成功发送 html 电子邮件。样式、字体和大部分图像都按计划显示。
但是来自产品预览的一些图像被谷歌邮件代理脚本破坏了。每封电子邮件大约有 6 张图片,每张图片大小为 100x100 像素。其中大约10%损坏 - 因为源代码根本没有图像(因为地址中出现 + 符号)。
检查代码只是帮助我猜测原因,而不是为我完全修复它。
我通过电子邮件发送的 src:
<img src="http://www.example.com/for_email/products_images/690/690xxxxxxx.jpg">
Google Mail 在向用户显示时将其更改为:
<img src="https://ci5.googleusercontent.com/proxy/iyxxxuR-nG_Gst2xxxYN1-Qjxxx06hEE=s0-d-e1-ft#http://www.example.com/for_email/products_images/690/690xxxxxxx.jpg">
一切都很好,但在 10% 的情况下,我有这些断开的链接:
<img src="https://ci5.googleusercontent.com/proxy/iyxxxuR-nG_Gst2xxxYN1-Qjxxx06hEE=s0-d-e1-ft#http://www.example.com/for_e+mail/products_images/690/690xxxxxxx.jpg">
<img src="https://ci5.googleusercontent.com/proxy/iyxxxuR-nG_Gst2xxxYN1-Qjxxx06hEE=s0-d-e1-ft#http://www.example.com/for_email/products_images/690/690xxx+xxxx.jpg">
<img src="https://ci5.googleusercontent.com/proxy/iyxxxuR-nG_Gst2xxxYN1-Qjxxx06hEE=s0-d-e1-ft#http://www.example.com/for_email/products_images/690/690xxxxxxx.j+pg">
看看这些优点:
/for_e+mail/products_images/690/690xxxxxxx.jpg
/for_email/products_images/690/690xxx+xxxx.jpg
/for_email/products_images/690/690xxxxxxx.j+pg
我尝试解决的问题:
重定向。在这样的地址中 /for_email/products_images/690/690xxxxxxx.j+pg 我只是在删除+后重定向到 /for_email/products_images/690/690xxxxxxx.jpg 。但这不是像 /for_email/products_images/690/690xxx+xxxx.jpg 这样的错误的解决方案,因为 nginx 可以处理此类文件,我不会因为如此小的原因而更改它。
长度较少。为了解决这个问题,我还更改了名称的图像。以前是这样的 md5 哈希。
7c6a78c6ac5a6c56ac56a5c67ac5a6c57a65c67ac567a.jpg现在是
6657435previmg.jpg它有助于将断开链接的百分比降低到一半,但不能完全降低。
我很久以前就有这个问题:大约半年,偶尔有空的时候尝试解决它。谷歌搜索仍然没有帮助我,我希望你这样做。
我在 1C-Bitrix 上通过 PHP 发送它,但我认为这并不重要(但不完全确定)。