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.

Share:
15,267
likdaboo
Author by

likdaboo

Updated on June 04, 2022

Comments

  • likdaboo
    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>