Base64 image in email, does not show in google mail
15,267
Solution 1
It's google blocking images. Google striped out most inline css and other 'likely' vulnerablilities that cause harm to the end-users' system. Unfortunatly this is the case. However i still think you should never embed your images in e-mail, because you have a lot of mobile users with dataplans. Seems a bit rude.
Solution 2
Google is blocking images. Reference: 2013 test from Campaign Monitor on Embedded image support in HTML email.
Author by
likdaboo
Updated on June 04, 2022Comments
-
likdaboo almost 2 years
I have created a base64 image to be sent via email to the customer on there mobile device It works in the email app but the gmail app shows a missing image
Is that just google mail blocking data images for security? There's no button to show images either
Code:
$headers = "From: [email protected]\r\n"; $headers .= "Reply-To: [email protected]\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$imagedata = file_get_contents("http://www.barcodesinc.com/generator/image.php? code=12345&style=68&type=C128B&width=180&height=70&xres=1&font=1"); $base64 = base64_encode($imagedata); $message ="<img src='data:image/png;base64,$base64'>"; mail($to,$subject,$message,$headers);</pre>