Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2009, 02:07   #1
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию ошибка при отправке

всем привет. собрал прожку давненько всё работало отлично теперь пишет что то про авторизацию пробовал её устанавливать но бесполезно всё равно не работаетвот код
Код:
program Send;

uses
  SysUtils,dialogs,messages,windows,Winsock,
  IdBaseComponent,
  IdComponent,
  IdTCPConnection,
  IdTCPClient,
  IdMessageClient,
  IdMessage,
  ImageHlp,
  IdSMTP,IdHTTP;

  function IPAddrToCompName(IPAddr: string): string;
var
 SockAddrIn: TSockAddrIn;
 HostEnt: PHostEnt;
 WSAData: TWSAData;
begin
 WSAStartup($101, WSAData);
 SockAddrIn.sin_addr.s_addr:=inet_addr(PChar(IPAddr));
 HostEnt:=gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
 if HostEnt<>nil
 then Result:=StrPas(Hostent^.h_name)
 else Result:='';
end;
  function GetLocalIP: string;
type
 TaPInAddr=array [0..10] of PInAddr;
 PaPInAddr=^TaPInAddr;
var
 phe:PHostEnt;
 pptr:PaPInAddr;
 Buffer:array [0..63] of char;
 i:Integer;
 GInitData:TWSADATA;
begin
 WSAStartup($101, GInitData);
  Result:='';
    GetHostName(Buffer, SizeOf(Buffer));
      phe:=GetHostByName(buffer);
  if phe = nil then Exit;
      pptr:=PaPInAddr(Phe^.h_addr_list);
  i:=0;
while pptr^[i]<>nil do begin
   result:=StrPas(inet_ntoa(pptr^[i]^));
   Inc(i);
 end;
    WSACleanup;
end;
procedure otpr;
var
 smtp_1:TIdsmtp;
 Message1:TIdMessage;
 today : TDateTime;
 begin

        today := Now;
              try
                smtp_1:=TIdSMTP.Create(nil);
               Message1:=TIdMessage.Create(nil);
                    SMTP_1.Host:='smtp.yandex.ru'; // адрес почтового сервера
                   SMTP_1.Port:=25; // порт по которому будет осуществляться подключение
                        SMTP_1.Username:='*******'; // логин пользователя
                      SMTP_1.Password:='*****'; // пароль пользователя
                   with Message1 do
                 begin
                Body.Add(getlocalip); // текст, для последующей отправки
                Body.Add(DateToStr(today));
                Body.Add(TimeToStr(today));
                 Body.Add(IPAddrToCompName(getlocalip));
                From.Text := '*******'; // майл отправителя письма
                Recipients.EMailAddresses := '*******'; // майл получателя письма
               
                end;
                begin
                SMTP_1.Connect;
                if smtp_1.Connected=false then
                begin
                smtp_1.Free;
                Message1.Free;
                otpr;
                end
                else
                begin
                SMTP_1.Send(Message1); // отправка письма на сервер
                SMTP_1.Disconnect;
                end; // разрыв соединения

                end;
                finally
               smtp_1.Free;
                Message1.Free;
          showMessage('Готово!')
end;
 end;
  begin
otpr;
end.
D_E_N вне форума Ответить с цитированием
Старый 31.10.2009, 10:35   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

добавь строку вида:
Код:
SMTP.AuthType:=satDefault; // тип подключения к серверу - с авторизацией
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 31.10.2009, 11:18   #3
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию

я в шоке вчера не работало сегодня пашет.....

Последний раз редактировалось D_E_N; 31.10.2009 в 12:07.
D_E_N вне форума Ответить с цитированием
Старый 31.10.2009, 13:42   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

на серваке могут экспериментировать... дабы это учесть, проверь как все-таки с авторизацией себя ведет.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 31.10.2009, 14:13   #5
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию

слушай как сделать отправку и прием сообщений на mail agent ато тока про смс есть а простое сообщение нету
D_E_N вне форума Ответить с цитированием
Старый 31.10.2009, 15:25   #6
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию

слушай как сделать отправку и прием сообщений на mail agent ато тока про смс есть а простое сообщение нету или типа я.онлайн на яндексе.... что проще ато ася выеживаться стала
D_E_N вне форума Ответить с цитированием
Старый 31.10.2009, 16:23   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

http://programmersforum.ru/showthrea...E0%E3%E5%ED%F2
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 31.10.2009, 18:10   #8
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию

raxp скинь пожлста компонент для проверки связи с инетом и покажи как пользоваться
D_E_N вне форума Ответить с цитированием
Старый 31.10.2009, 18:30   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

да, как и обещал выкладываю пинг по icmp протоколу... пример вызова:
Код:
procedure tcpping (const Address, EchoString: PChar;var PingReply: TsmICMP_Echo_Reply;const PingTimeout: Integer = 500);
var IPAddress: TipAddr;
    ICMPPort: THandle;
begin
 application.ProcessMessages;
 //
 IPAddress:= inet_addr (Address);
 if (IPAddress = INADDR_NONE) then exit;
 ICMPPort:= IcmpCreateFile();
 if (ICMPPort = INVALID_HANDLE_VALUE) then exit;
 //
 IcmpSendEcho (ICMPPort, IPAddress,
               EchoString, Length (EchoString), nil,
               @PingReply, SizeOf (PingReply), PingTimeout);
 IcmpCloseHandle (ICMPPort)
end;
модуль прилагаю...
Вложения
Тип файла: zip icmp.zip (1.4 Кб, 26 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 31.10.2009, 18:36   #10
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 149
По умолчанию

пасиба огромное
D_E_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с \n\r при отправке писмо с аттачментами termes PHP 3 27.07.2009 12:51
Формат передаваемых данных хабам локальной сети, при отправке личных сообщений из DC клиетов docm Общие вопросы .NET 0 18.11.2008 15:33
Многопоточность при отправке почты sanchopansa Работа с сетью в Delphi 4 04.10.2008 14:57
Ошибка при присваивании NeiL Общие вопросы Delphi 5 16.04.2008 22:24
Ошибка при компилации Kocapb Общие вопросы C/C++ 3 25.11.2007 18:07