Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

всем привет. собрал прожку давненько всё работало отлично теперь пишет что то про авторизацию пробовал её устанавливать но бесполезно всё равно не работаетвот код
Код:
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, 11:35   #2
raxp
Профессионал
 
Регистрация: 29.09.2009
Сообщений: 9,730
Репутация: 3006
По умолчанию

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

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

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

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

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

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

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

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

да, как и обещал выкладываю пинг по 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 Кб, 24 просмотров)
__________________
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума   Ответить с цитированием
Старый 31.10.2009, 19:36   #10
D_E_N
Форумчанин
 
Регистрация: 04.05.2009
Сообщений: 148
Репутация: 10
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

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


13:12.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.