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.
- Alors vous devez d'abord construire la structure mime correcte,
- puis encodez toutes les parties de mime à l'aide codages appropriés (base64, quoted),
- ajouter des en-têtes corrects à toutes les parties,
- les encoder si elles contenir des caractères nationaux ou spéciaux,
- limites Assigner
- 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.
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
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 ... –