Comment forcer l’affichage d’une image dans un email

Saviez vous que plus de 50% des webmails bloquent par défaut les images des emails que vous envoyez ?

Or, on sait que le taux de clics augmente avec la présence d’image au dessus du fold, que ce soit pour une page web ou un email.
En bloquant les images, les webmails vous privent donc d’une partie de votre audience légitime et génèrent un manque à gagner

Une solution existe !

Il suffit tout simplement de remplacer l’image par un tableau HTML. Chaque cellule du tableau constituant un pixel de l’image.

Voici le code source d’une fonction codée par Laurent Page, référenceur retraité ayant arrêté son blog. Son travail lui survivra !

[code language= »php »]

function hexcolor($c) {
        $r = ($c >> 16) & 0xFF;
        $g = ($c >> 8) & 0xFF;
        $b = $c & 0xFF;
        return ‘#’.str_pad(dechex($r), 2, ’0′, STR_PAD_LEFT).
                        str_pad(dechex($g), 2, ’0′, STR_PAD_LEFT).str_pad(dechex($b), 2, ’0′, STR_PAD_LEFT);
}
 
function imagize($img) {
       
        $image = imagecreatefrompng($img);
        $width = imagesx($image);  
        $height = imagesy($image);
               
        $table = ‘<table border="0" cellpadding="0" cellspacing="0"><tr height="0">’;
       
        for($horizontal=0; $horizontal<$width; $horizontal++) {
                $table .= ‘<td width="1"></td>’;
         }
        $table .= ‘</tr>’; //fermer les balises sinon ca fait planter le nav.. c’est pas que pour se la péter le valid W3C
       
        for($vertical=0; $vertical<$height; $vertical++) {
                $table .= ‘<tr height="1">’;
                        for($horizontal=0; $horizontal<$width; $horizontal++) {
                        $color = imagecolorat($image,$horizontal,$vertical);
 
                                for($colspan=0; $colspan<($width-$horizontal); $colspan++) {
                                        if ($color != imagecolorat($image,($horizontal+$colspan),$vertical)) {
                                                                        break;
                                        }
                                }
                       
                                $horizontal=$colspan+$horizontal-1;
                               
                                $table .= ‘<td’;
                                ($colspan)? $table .= ‘ colspan=’.$colspan.‘ ‘: »;
                                $table .= ‘bgcolor=’.hexcolor($color).‘></td>’;
                         }
                 $table .= ‘</tr>’;
         }
        $table .= ‘</table>’;
       
        return $table;
}

[/code]

Pour voir quelques exemples de mise en oeuvre, rendez vous à cette adresse :
http://stylecampaign.com/blog/2009/12/bypass-image-blocking-by-converting-images-to-html/