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
- 1345 megtekintés
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...
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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!
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni