2010-01-26 4 views
1

Quelqu'un peut-il m'expliquer comment créer un courriel «simple» avec des fichiers d'images intégrés? Je sais qu'il y a des tonnes de RFC qui l'expliquent mais je n'ai pas vraiment réussi à le faire. Je dois créer le corps du texte de l'email par programme, sans utiliser de framework. Ne me demandez pas si la langue est utilisée ...Comment encapsuler des fichiers image dans des emails?

Les images sont codées en base64. Type de contenu: Multipart/related; border = "boundary-example-1"; type = Text/HTML

S'il y a une explication "lisible" sur la façon de faire cela sur un site web que je n'ai pas trouvé, je serai heureux de entendre à ce sujet.

Pierre

+2

Avez-vous essayé d'envoyer vous-même le courrier avec l'image intégrée et vérifier la source de l'email? – MBO

+0

Bien sûr! Une tonne de courriels. Mais je n'ai pas réussi à les faire paraître bien dans les clients de messagerie (Thundebird fonctionne bien, mais les perspectives ne le font pas). Je suppose que je ne construis pas le corps et la tête correctement et que Thunderbird corrige ça pour moi ... –

Répondre

4

Il y a des tonnes de RFC parce qu'il est pas aussi simple que cela.

Pour intégrer des images et/ou des pièces jointes dans le message électronique, le format MIME a été créé.

MIME est en fait une structure d'arbre:

+-multipart/mixed 
    +-multipart/related 
    | +-multipart/alternative 
    | | +-text/plain 
    | | +-text/html 
    | +-image/gif 
    | +-image/jpeg 
    +-application/x-zip-compressed 
    +-application/x-zip-compressed 

Chaque objet mime multipartie sont constitués d'une ou plusieurs parties. Les pièces sont séparées à l'aide du délimiteur de limite.

multipart/mixed - est utilisé lorsque les pièces ne sont pas liés (e-mail régulier avec les pièces jointes)

multipart/related - est utilisé lorsque Pars sont liés. Par exemple un e-mail HTML contenant des images utilisées par ce code HTML. (protocole Cid est utilisé en HTML:)

multipart/alternative - précise que les parties contiennent même contenu mais dans différentes représentations. Par exemple même texte en format doc, html et texte brut.

  1. Alors vous devez d'abord construire la structure mime correcte,
  2. puis encodez toutes les parties de mime à l'aide codages appropriés (base64, quoted),
  3. ajouter des en-têtes corrects à toutes les parties,
  4. les encoder si elles contenir des caractères nationaux ou spéciaux,
  5. limites Assigner
  6. et enfin rendre tout le message

Le point principal est ce problème a déjà été résolu. La plupart des langues ont des bibliothèques pour créer et envoyer des emails.

. Cadre NET a un, pas parfait, mais il est probablement mieux que ce que vous allez créer.

Vous pouvez également consulter les produits commerciaux comme Mail.dll email component si vous avez besoin de plus de contrôle sur la façon dont l'email ressemble.

+0

Pawel, si je peux vous voter 10K fois, je le ferais. Merci beaucoup pour cette brillante explication. (Quand j'aurai 15 points de rep, je serai de retour pour vous remercier comme vous le méritez) –

Questions connexes