· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.NETWORKS —› SMTP send фигня выходит

Посл.отвђт Сообщенiе


Дата: Сен 18, 2004 17:58:52

Дошел до точки?!!! Написал свой сендмейл для обучения, и ничего не могу понять.
У меня 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


Дата: Сен 18, 2004 18:34:30

Grevg23 Уважай время и нервы других , поправь исходник с тегом "код" , поставь табуляцию .

з.ы. в отладкике много чего может работать


Дата: Сен 18, 2004 18:40:54

У меня опера глюкнул :-( пока писал вроде все в порядке было. Вот отправляю в архиве, подкиньте идею.

_1134120536__sndmail.zip


Дата: Сен 18, 2004 19:37:34 · Поправил: bogrus

„У меня VmWare под ней винда на ней мейл сервер (Office Mail Server такая штука
мелкая) ну и хостс настроен соответственно. Так вот под отладчиком письмо уходит,
а при нормальном запуске фиг.“


- отладчик запускаеться под VmWare ?
- нормальный запуск это под VmWare ?


Дата: Сен 18, 2004 19:50:46

Нет под VmWare только мейл сервак, остальное под основной 2000. И отладчик, и нормальный запуск.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.087