2010-05-13 15 views
2

Je travaille à la création d'un e-mail HTML comprenant 2 images. Actuellement, j'utilise des tags pour placer l'image dans l'email. Le problème est lorsque les utilisateurs reçoivent l'email, il demande à l'utilisateur de "cliquer pour télécharger" pour des raisons de sécurité.Pour les e-mails HTML, comment incorporer des images pour que les utilisateurs n'obtiennent pas d'invite de téléchargement

Existe-t-il un moyen d'incorporer l'image dans l'e-mail, pour éviter ce problème? J'utilise Coldfusion pour envoyer l'e-mail.

Merci

+0

Je ne pense pas que vous devriez vouloir une telle chose. Le lecteur a le droit de montrer les images seulement quand elles en ont besoin, ce qui est implémenté par tous les clients "normaux". – Sergii

Répondre

-1

Je suis assez certain qui est un problème de client de messagerie et non l'e-mail/HTML que vous mettez ensemble. Je ne suis pas au courant (et un rapide Google n'a pas montré) de toutes les façons de contourner cela avec HTML.

Une solution possible pourrait être de créer un message texte enrichi à la place et d'intégrer l'image dans le RTF, pas sûr si cela vous permettra de contourner votre problème ou non.

Autre idée est-ce que vous devez avoir les images dans l'email? Vous feriez peut-être mieux d'élaborer le format d'e-mail pour ne pas vous fier aux images pour le formatage/l'esthétique, mais permettez-leur d'être inclus si le client les affiche. Je ne sais pas qui est votre public cible, mais dans mon travail, nous devons traiter avec des utilisateurs qui sont limités à l'email en texte brut assez souvent.

+0

Pourquoi la downvote? – egrunin

+0

Peut-être que quelqu'un n'a pas aimé ma réponse, car il ne donne pas un ensemble de mesures pour résoudre le problème. Pour moi, c'est un peu comme demander pourquoi je ne peux pas forcer le client de messagerie à afficher mon email au format HTML quand il ne supporte que du texte brut. –

2

Je n'ai pas testé si cela fonctionne dans les clients de messagerie, mais si vous codez l'image en Base64, vous pouvez l'inclure dans le code HTML, ce qui évite le problème de connexion à un serveur distant.

Voilà comment vous pouvez le faire avec CFML:

<cfset ImageFile = "/path/to/image.png" /> 
<cfset ImageInfo = "image/png;charset=utf-8;base64" /> 
<cfset ImageData = ToBase64(FileReadBinary(ImageFile) , 'utf-8') /> 

<cfoutput> 
    <img src="data:#ImageInfo#,#ImageData#" alt="my picture" /> 
</cfoutput> 
+0

Ceci est le résultat dans un corps d'e-mail dans gmail: http://imgur.com/DhA4KvH. – Alex