képek továbbítása e-mailben

Sziasztok!

Egy kicsit speciális témában szeretném kérni a segítségeteket.

Feladat: Szeretnék egy olyan c++-os progit csinálni, ami egy adott képet küld adott e-mail címre. A szimpla levélküldés (text) megy, viszont a képküldéssel van egy nagy bajom... Ahogy eddig észrevettem, a levelező kliensek kódolva várják a képet.

Kérdéseim:
- mivel lehet base64 -be kódolni a képeket?
- hogy lehet tudatni a levelező kliensekkel, hogy nem kódolt képet akarok küldeni?

A válaszokat előre is köszönöm!

Üdv: S81

Hozzászólások

Kerdes, hogy milyen levelezo kliens?

mert ha pl. a mutt-ra vetemednel (vagy olyan kliensre ami MIME-t ismeri), akkor semmi problemad nem akadhat...

de ha maradsz MIME-ul nem tudo kliensnel, akkor sajnos neked kell osszerakni a MIME formatumu levelet... uuencode, mimencode...

Zsiraf

p.s.: Ja, vagy a progiddal akarod a kuldest megoldani? Miert nem bizod a dolgot a "specialistara"?... Te tudod...

Igen, én szeretném megcsinálni a levélküldést... Nem olyan nagy ördöngősség, ha az ember nem akar pl képet küldeni.
Az e-mail címből ki tudod deríteni a mail szervert, csatlakozol hozzá, és a következőket küldöd el:

"HELO there"
"MAIL FROM: <" + saját cím + ">\r\n"
"RCPT TO: <" + címzett + ">\r\n"
"DATA\r\n"
maga az üzenet + ".\r\n"
"QUIT\r\n"

Ha valamilyen csatolt állományt akarok küldeni (jelen esetben képet), akkor ezt ugyan úgy jeleznem kell a szervernek:

"Content-Disposition: attachment; filename=kuld.jpg\r\n"
"Content-Type: image/jpeg; name=kuld.jpg\r\n"
maga az állomány

Így elküldi az állományt, viszont a szerver (helyesebben a címzett levelezőprogramja) nem képes értelmezni a csatolt állományt. Ahogy utána néztem a dolgoknak, találtam egy ilyen utasítást:

"Content-Transfer-encoding: base64\r\n"

Tehát van egy base64 nevű kódolási mechanizmus, amivel a csatolt file-ok (még mindig képek :-) ) kódolva vannak. És ez az, amit nem tudok... mi végzi a base64 kódolást?

A válaszokat előre is köszönöm!

Üdv.: Stage81

Szerintem néz körül egy kicsit az általad használt fejlesztőkörnyezet doksijában (úgy értem: a library-k által nyújtott szolgáltatások között)
Valami olyasmit kellene keresni, hogy MIME v. Base64.
Perl-hez van ilyen modul, de azzal nem vagy kisegítve, C-vel meg sok éve játszadoztam, de akkor sem használtam komolyabban. (és akkor a C++-ról még szó sem esett ;-) )

--------------
Fel! Támadunk!

Most találtam hozzá valamit, igaz síma c, nem c++... szóval keresem a forrását, hátha sikerül megértenem a kódolási mechanizmust (most olvastam az egyik levlistán, hogy nem nagy dolog megírni az algoritmusát, igaz semmiféle forráskódot nem mellékelt az állításához... Szval kíváncsi vagyok)

Üdv.: Stage81