Дошел до точки?!!! Написал свой сендмейл для обучения, и ничего не могу понять. У меня VmWare под ней винда на ней мейл сервер (Office Mail Server такая штука мелкая) ну и хостс настроен соответственно. Так вот под отладчиком письмо уходит, а при нормальном запуске фиг. Вот исходник подскажите что за фигня? .586 .model flat,stdcall option casemap:none include \masm32\include\windows.inc irp lb,<kernel32,wsock32,user32> include \masm32\include\&lb&.inc includelib \masm32\lib\&lb&.lib endm smtp_port equ 25 buffsz equ 256 .data Helo db "HELO grevgeny.ru",13,10 mail db "MAIL FROM: der@dragon.ru",13,10 rcpt db "RCPT TO:req@dragon.ru",13,10 data db "DATA",13,10 body db "FROM: der@dragon.ru",13,10 db "TO:req@dragon.ru",13,10 db "SUBJECT: Проба пера",13,10 db "Почта блин.",13,10 bodylen dd offset bodylen - offset body point db ".",13,10 quit db "QUIT",13,10 server db "dracon.ru",0 wsaData WSADATA <0> saServer sockaddr_in <0> sockaddrsz dd sizeof sockaddr_in buff db buffsz dup (0) CompName db 25 dup (0) skt dd 0 .data? Helo_str db 50 dup(?) .code start: invoke WSAStartup,010001,offset wsaData invoke gethostbyname,offset server or eax,eax jz _Exit assume eax:ptr hostent mov ebx,[eax].h_list mov ebx,[ebx] mov ebx,[ebx] mov saServer.sin_addr,ebx assume eax:nothing mov saServer.sin_family,AF_INET invoke htons,smtp_port mov saServer.sin_port,ax invoke socket, AF_INET,\ ; Address family SOCK_STREAM,\ ; Socket type 0 ; Protocol cmp eax,INVALID_SOCKET je _Exit mov skt,eax invoke connect,skt,\ ; Socket offset saServer,\ ; Server address sockaddrsz; ; Length of server address structure cmp eax,SOCKET_ERROR je closeskt invoke send, skt,\ ; Connected socket Запрос на соединение c smtp offset Helo,\ ; Data buffer sizeof Helo,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt invoke recv, skt,\ ; Connected socket проверяем разрешение 220 offset buff,\ ; Receive buffer buffsz, \ ; Size of receive buffer 0 ; Flags cmp eax,SOCKET_ERROR je closeskt mov eax, offset buff cmp eax,"022" je closeskt ; movsd offset buff, offset buff1 invoke send, skt,\ ; Connected socket отправляем mail from offset mail,\ ; Data buffer sizeof mail,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt invoke recv, skt,\ ; Connected socket проверяем 250 offset buff,\ ; Receive buffer buffsz, \ ; Size of receive buffer 0 ; Flags cmp eax,SOCKET_ERROR je closeskt mov eax, offset buff cmp eax,"052" je closeskt ; xor offset buff,offset buff invoke send, skt,\ ; Connected socket отправляем rcpt to offset rcpt,\ ; Data buffer sizeof rcpt,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt invoke recv, skt, ; Connected socket проверяем 250 offset buff, ; Receive buffer buffsz, ; Size of receive buffer 0 ; Flags cmp eax,SOCKET_ERROR je closeskt mov eax, offset buff cmp eax,"052" je closeskt ; mov offset buff,0 invoke send, skt,\ ; Connected socket даем сообщение data offset data,\ ; Data buffer sizeof data,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt invoke recv, skt,\ ; Connected socket проверяем 354 offset buff,\ ; Receive buffer buffsz, \ ; Size of receive buffer 0 ; Flags cmp eax,SOCKET_ERROR je closeskt mov eax, offset buff cmp eax,"453" je closeskt invoke send, skt,\ ; Connected socket тело письма offset body,\ ; Data buffer bodylen,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt invoke send, skt,\ ; Connected socket завершающая точка offset point,\ ; Data buffer sizeof point,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt invoke send, skt,\ ; Connected socket команда завершения offset quit,\ ; Data buffer sizeof quit,\ ; Length of data 0 ; Flags cmp eax,SOCKET_ERROR je closeskt closeskt: invoke closesocket,skt _Exit: invoke WSACleanup invoke ExitProcess,0 end start
Grevg23 Уважай время и нервы других , поправь исходник с тегом "код" , поставь табуляцию . з.ы. в отладкике много чего может работать
У меня опера глюкнул :-( пока писал вроде все в порядке было. Вот отправляю в архиве, подкиньте идею. _1134120536__sndmail.zip