Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recevoir des mail avec fichiers attachés ?

4 réponses
Avatar
ByB
Bonjour,

Pour développer une application qui va (entre autres) recevoir des
mails, je recherche une classe en C++ (code réutilisable) qui
permettrait de faire ce genre de chose (recevoir des fichiers joints
par e-mail, par connexion à un serveur POP, et ce sans passer par un
logiciel-tiers comme Outlook ...).

J'ai cherché sur Codeguru et Codeproject, mais sans trouver autre chose
que des solutions pour recevoir des e-mails avec uniquement du texte,
ce qui ne résoud pas le problème des fichiers attachés.

Pour info, je travaille sous Windows, donc une version utilisant les
MFC de Microsoft me conviendrait également (mais pas de version .NET
car la machine où l'appli va tourner n'aura pas .NET installé).


Merci de vos conseils et adresses éventuels.



--
L'ordinateur obéit à vos ordres, pas à vos intentions. [Anonyme]

4 réponses

Avatar
Sylvain
ByB wrote on 10/05/2006 23:18:

Pour développer une application qui va (entre autres) recevoir des
mails, je recherche une classe en C++ (code réutilisable) qui
permettrait de faire ce genre de chose (recevoir des fichiers joints par
e-mail, par connexion à un serveur POP, et ce sans passer par un
logiciel-tiers comme Outlook ...).


avez-vous jeté un oeil à la norme S/Mime ?
parser un stream texte, au pire décoder un peu de base64, doit pouvoir
être fait avec "du code réutilisable" qui abonde déjà.

J'ai cherché sur Codeguru et Codeproject, mais sans trouver autre chose
que des solutions pour recevoir des e-mails avec uniquement du texte, ce
qui ne résoud pas le problème des fichiers attachés.


cela participera quand même surement à une partie significative du
travail, la norme vous guidera facilement sur les adaptations à faire.

enfin cela si le monde était idéal et les mailers respectueux des
normes, ce n'est pas vraiment le cas (O, OE les premiers) et vous devrez
surement inscrire ce type de soft dans ceux à maintenir régulièrement,
ce qui risque d'être incompatible avec du code off the shelf.

Pour info, je travaille sous Windows, donc une version utilisant les MFC
de Microsoft me conviendrait également (mais pas de version .NET car la
machine où l'appli va tourner n'aura pas .NET installé).


pas d'aide particulière à attendre des MFC.
je regarderais plutôt un mailer linux en open-source (il y a le choix).

Sylvain.

Avatar
kanze
ByB wrote:

Pour développer une application qui va (entre autres) recevoir
des mails, je recherche une classe en C++ (code réutilisable)
qui permettrait de faire ce genre de chose (recevoir des
fichiers joints par e-mail, par connexion à un serveur POP, et
ce sans passer par un logiciel-tiers comme Outlook ...).

J'ai cherché sur Codeguru et Codeproject, mais sans trouver
autre chose que des solutions pour recevoir des e-mails avec
uniquement du texte, ce qui ne résoud pas le problème des
fichiers attachés.


Ça devait en faire plus que la moitié du boulot, quand même. Les
fichiers sont joints à un email au moyen du protocol MIME : RFC
2045-2049 pour la base, mais ensuite, beaucoup de divers RFC
pour spécifier des encodages particuliers, etc. (Pour l'email
même, c'est RFC 2821.)

Pour les RFC, j'utilise en général http://www.faqs.org/rfcs/,
mais http://ietf.org/rfc.html, c'est la source officielle.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Avatar
John Deuf
ByB :

Pour développer une application qui va (entre autres) recevoir des
mails, je recherche une classe en C++ (code réutilisable) qui
permettrait de faire ce genre de chose (recevoir des fichiers joints
par e-mail, par connexion à un serveur POP, et ce sans passer par un
logiciel-tiers comme Outlook ...).


Il existe la bibliotheque VMime, en GPL :
http://www.vmime.org/

Je dois etre tres mauvais en utilisation de compilateur et linker, parce
meme avec le fichier projet VC++ fourni, je n'ai jamais reussi a la
compiler comme il faut et a l'utiliser sous Windows.

J'ai cherché sur Codeguru et Codeproject, mais sans trouver autre
chose que des solutions pour recevoir des e-mails avec uniquement du
texte, ce qui ne résoud pas le problème des fichiers attachés.


Et bien tu as mal cherche.
Ce code sur CodeGuru recoit et decode les fichiers attaches en POP3 :
http://www.codeguru.com/Cpp/I-N/internet/email/article.php/c6167/

Mais ce code qui parse les emails est une horreur et n'arrive pas a
decoder certains emails comme ceux de MS Outlook.
Si bien que, confronte au meme probleme que toi, je me suis base sur ce
code pour reecrire la bibliotheque en c++ standard, avec les stream et
string.

--
John Deuf

Avatar
ByB
A en croire John Deuf, il semblerait que
ByB :

Pour développer une application qui va (entre autres) recevoir des
mails, je recherche une classe en C++ (code réutilisable) qui
permettrait de faire ce genre de chose (recevoir des fichiers joints
par e-mail, par connexion à un serveur POP, et ce sans passer par un
logiciel-tiers comme Outlook ...).


Il existe la bibliotheque VMime, en GPL :
http://www.vmime.org/

Je dois etre tres mauvais en utilisation de compilateur et linker, parce
meme avec le fichier projet VC++ fourni, je n'ai jamais reussi a la
compiler comme il faut et a l'utiliser sous Windows.

J'ai cherché sur Codeguru et Codeproject, mais sans trouver autre
chose que des solutions pour recevoir des e-mails avec uniquement du
texte, ce qui ne résoud pas le problème des fichiers attachés.


Et bien tu as mal cherche.
Ce code sur CodeGuru recoit et decode les fichiers attaches en POP3 :
http://www.codeguru.com/Cpp/I-N/internet/email/article.php/c6167/

Mais ce code qui parse les emails est une horreur et n'arrive pas a
decoder certains emails comme ceux de MS Outlook.
Si bien que, confronte au meme probleme que toi, je me suis base sur ce
code pour reecrire la bibliotheque en c++ standard, avec les stream et
string.


Merci à tous pour vos réponses.
Merci John Deuf pour les pistes intéressantes qu'il propose et que je
vais approfondir ce week-end !


--
J'essaie de ne pas vivre en contradiction avec les idées que je ne
défends pas.
[Pierre Desproges]