Imágenes SVG bloqueadas por proxy de gmail
phantomjs (1)
Parece que el nuevo proxy de Gmail para imágenes no funciona con SVG (da un error 404 si abre la URL del proxy en una nueva pestaña).
No he podido encontrar ninguna documentación sobre tipos de archivos admitidos / bloqueados. ¿SVG en Gmail está funcionando para cualquier otra persona?
La única solución que puedo pensar es generar un png de svg en el servidor usando PhantomJS, ¿alguna otra opción?
Fondo:
Esto es para una aplicación web que envía correos electrónicos de resumen diarios, que muestran un gráfico que abarca las últimas 24 horas (por lo que el svg es diferente cada día, tenerlo en el correo electrónico le ahorra al usuario la molestia de hacer clic en la aplicación).
Sé que las imágenes SVG no funcionarán en algunos clientes de correo electrónico, pero funcionarán en un 95%, el resto aún puede hacer clic en la aplicación web.
Funcionó bien en Gmail hasta que el proxy cambió a principios de este mes (que recién se lanzó a las cuentas de Google Apps a final de mes).
Recibí una respuesta del servicio de asistencia de Google y me confirmaron que actualmente no hay planes para admitir imágenes SVG en el proxy. Dijeron que representan solo 1 en 100,000 imágenes de correo electrónico.
Además de PhantomJs, una opción para svg más simple es el plugin de php ImageMagick.
Aquí hay un código de muestra para comenzar:
header("Content-Type: image/png");
header("Content-Disposition: inline;");
if (empty($svg)) {
readfile("invisibleImage.png", true);
} else {
//TODO: You''ll probably want to set headers to cache the returned image
$filepath = "/path/to/where/images/are/cached/";
if (!file_exists("$filepath$svgName.png")) {
if (!is_dir($filepath)) {
mkdir($filepath, 0700, 1);
}
file_put_contents("$filepath$svgName.svg", $svg);
$cmd = "rsvg-convert $filepath$msk.svg > $filepath$svgName.png";
exec($cmd);
unlink("$filepath$svgName.svg");
}
readfile("$filepath$svgName.png");
}
Deseará instalar al menos algunos de los siguientes:
apt-get install librsvg2-bin libpng3 imagemagick libpng12-dev /