WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  снова Енто SMTP

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   снова Енто SMTP
matrix опубликован 18-04-2001 23:07 MSK   Click Here to See the Profile for matrix   Click Here to Email matrix  
Как однако...
переслать бинарный файл...однако
приходит какойто погрызаный...однако
Не хорить же его однако..:+)


aldep опубликован 19-04-2001 12:51 MSK     Click Here to See the Profile for aldep  Click Here to Email aldep     
Надо в заголовке выставить

Content-Type: multipart/mixed;

И в секции бинарного файла проставить
Content-Type: application/binary

matrix опубликован 19-04-2001 03:50 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
не помогло...
тоже самое..
строки с 0 теряются..


matrix опубликован 19-04-2001 18:32 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
Плиз помогите примером...
Чего писать после "DATA:"...
чтоб бинарный файл отправить..

Demo_S опубликован 19-04-2001 18:44 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
Разве я не тебе исходник QMailer отсылал, который атачи посылает? или он неправильно это делает, ты скажи если что, а то я с ним не сильно разбиралси/.
matrix опубликован 20-04-2001 02:57 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
Да за исходник пасиба...:)
Там какая то хитрая
перекодировка для текста..
(которую я опустил)..
и отдельно для аттачмента..
(ее и стебрил)
Приходит текст без нулевых
строк..перекодирован непонятно
как...
Т.е. понятно как,но зачем....?
Я так понимаю если чего
кодировать..
То какой нить дядька на севере
должен перекодировать абратно..
Для этого есь наверно
какие нить общие таблицы..
Как ваще передавать бинарные
файлы через send()//

Demo_S опубликован 20-04-2001 15:15 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
char buffer[lng];
//записуем че нить в buffer, включая нули и все что хочешь
res=send(s,buffer,lng);
matrix опубликован 21-04-2001 02:39 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
Вроде так...
Делаю мап файла в буфер...
(Маленький файлик))
HANDLE hFile,hFileMap;
LPVOID pbFile;
DWORD qwS;
__int32 qwSize;
char dat[7000];
hFile=CreateFile( "C:\\1.exe",GENERIC_READ,NULL,NULL,OPEN_EXISTING,FILE_FLAG_SEQUENTIAL_SCAN,NULL);
hFileMap=CreateFileMapping(hFile,NULL,PAGE_READONLY,0,0,0);
pbFile=MapViewOfFile(hFileMap,FILE_MAP_READ,NULL,NULL,NULL);
qwSize=GetFileSize(hFile,&qwS);
memcpy(&dat,(char *)pbFile,qwSize);
CloseHandle(hFile);
CloseHandle(hFileMap);

#define SEND(data,datalen)\
{num = 0;\
while (num < datalen) {\
ph = send(s, (char*)(dat + num), datalen - num, NULL);\
if (ph==SOCKET_ERROR) goto goto_on_error;\
num += ph;\
};\
}
SEND(dat,qwSize)

matrix опубликован 21-04-2001 02:43 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
И дык прихлодит какойто хлам...
Demo_S опубликован 22-04-2001 21:41 MSK     Click Here to See the Profile for Demo_S  Click Here to Email Demo_S     
А получаешь ты его как?
matrix опубликован 23-04-2001 02:13 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
Сотрю свой мыл..:)
breeder опубликован 23-04-2001 10:13 MSK     Click Here to See the Profile for breeder  Click Here to Email breeder     
SMTP подразумевает что передаются текстовые данные, причем длина строки ограничена. Для передачи двоичных данных их кодируют (uue или MIME)
http://www.ietf.org/rfc/rfc1521.txt?number=1521 - описание кодирования MIME

Для примера - сохрани какое-нибудь письмо с аттачем в файл и посмотри что там внутри :)

matrix опубликован 23-04-2001 18:29 MSK     Click Here to See the Profile for matrix  Click Here to Email matrix     
То шо нуно...
Пасиба...
Получилось.....:))
(Всунул лишний символ после base64)

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.