· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.VIROLOGY —› Где ошибка?

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


Дата: Янв 29, 2003 21:13:18

"MAIL FROM: pokoynik_x@mail.ru",10,13,0 ;или юзая "<>"
посылаю(до этого все работает)пишет 500 command unrecognized


Дата: Янв 29, 2003 21:15:02

Учусь работать с мэйлом, а тут такая бага.


Дата: Янв 29, 2003 22:21:01

'MAIL FROM:<pokoynik_x@mail.ru>',13,10, 0


Дата: Янв 30, 2003 08:44:09

Копировал эту строчку - всё равно не работает...
server-mail.ru
(на HELO отвечает нормально)


Дата: Янв 31, 2003 00:49:07

......
.data
MailVariables STRUCT
SMTP_PORT dd 25
POP_PORT dd 110
SMTPServer db 'mail.ru', 0
PopServer db 'mail.ru', 0
outmsg1 DB 'HELO TH001',0dh,0ah, 0
outmsg2 DB 'MAIL FROM:<pokoynik_x@mail.ru>',0dh,0ah, 0
outmsg3 DB 'RCPT TO:<anybody@mail.ru>',0dh,0ah, 0
outmsg4 DB 'DATA',0dh,0ah,0
outmsg5 DB 13,10,'.',13,10,0
outmsg6 DB 13,10,'QUIT',13,10,0
MailVariables ENDS

MailINI MailVariables <>

......
.code
;-------------------------------------

SendMailCommand PROC lpStrCmd:DWORD
LOCAL tmpstrlen:DWORD

INVOKE lstrlen, lpStrCmd
mov dword ptr tmpstrlen, eax
INVOKE send, hSock,lpStrCmd, eax, NULL
.IF eax==SOCKET_ERROR
szText SockErr, "SOCKET ERROR!"
INVOKE MessageBox, NULL, ADDR SockErr, ADDR AppName, MB_OK
INVOKE closesocket, hSock
RET
.ENDIF
cmp eax, dword ptr tmpstrlen
jge lab776

lab776:
INVOKE recv, hSock,ADDR buf1,500,NULL
.IF eax==0
INVOKE closesocket, hSock
RET
.ELSEIF eax==SOCKET_ERROR
INVOKE MessageBox, NULL, ADDR SockErr, ADDR AppName, MB_OK
INVOKE closesocket, hSock
RET
.ELSE
mov recbyte,eax
.ENDIF

RET
SendMailCommand ENDP

;-------------------------------------
SendMail PROC SendMailBuffer:DWORD

INVOKE socket, AF_INET,SOCK_STREAM,PCL_NONE
.IF eax == -1
szText HostErr, "Host not found!"
INVOKE MessageBox, NULL, ADDR HostErr, ADDR AppName,MB_OK
RET
.ENDIF
mov hSock,eax


INVOKE inet_addr,addr MailINI.SMTPServer
.IF eax==INADDR_NONE
push offset MailINI.SMTPServer
call gethostbyname ; addres of SMTP server
.if eax == 0
INVOKE MessageBox, NULL, ADDR HostErr, ADDR AppName, MB_OK
INVOKE closesocket, hSock
RET
.endif

mov eax,dword ptr [eax+12]
mov eax,dword ptr [eax]
mov eax,dword ptr [eax]
mov SocketAddress.sin_addr,eax

.ELSE
;mov dword ptr [sockip],eax
mov SocketAddress.sin_addr,eax
.ENDIF
mov SocketAddress.sin_family,AF_INET
INVOKE htons,MailINI.SMTP_PORT
mov SocketAddress.sin_port,ax

INVOKE connect, hSock,addr SocketAddress,sizeof SocketAddress

.IF eax==SOCKET_ERROR
szText conectErr, "Connot conect to host!"
INVOKE MessageBox, NULL, ADDR conectErr, ADDR AppName, MB_OK
INVOKE closesocket, hSock
RET
.ENDIF

INVOKE recv, hSock,ADDR buf1,buf1size,NULL ; read bytes from incoming
.IF eax==0
INVOKE closesocket, hSock
RET
.ELSEIF eax==SOCKET_ERROR
szText SockErr, "SOCKET ERROR!"
INVOKE MessageBox, NULL, ADDR SockErr, ADDR AppName, MB_OK
INVOKE closesocket, hSock
RET
.ELSE
mov recbyte,eax
.ENDIF

;HELO:
INVOKE SendMailCommand, ADDR MailINI.outmsg1

;SEND MAIL FROM:
INVOKE SendMailCommand, ADDR MailINI.outmsg2

;SEND RCPT TO:
INVOKE SendMailCommand, ADDR MailINI.outmsg3

;SEND DATA
INVOKE SendMailCommand, addr outmsg4

;SEND TEXT
INVOKE SendMailCommand, SendMailBuffer


;SEND QUIT
INVOKE lstrlen, ADDR outmsg6
INVOKE send, hSock, ADDR outmsg6, eax, NULL
.IF eax==SOCKET_ERROR
INVOKE MessageBox, NULL, ADDR SockErr, ADDR AppName, MB_OK
INVOKE closesocket, hSock
RET
.ENDIF

INVOKE closesocket, hSock
INVOKE WSACleanup

RET

SendMail endp


Дата: Янв 31, 2003 01:13:43

Огромный сэнькс, теперь всё работает -сool-, буду червей писать.:)))


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