Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отправка почты [D2005, XP]


Страницы:   1 2

TRSteep ©   (2008-09-03 08:58:00) 

как отправить простейшие письмо :)
нашел статью - делаю по ней

var
 Msg: TIdMessage;
begin
 With IdSMTP do
 begin
   Host := 'smtp.yandex.ru'; {адрес SMTP сервера (или IP-Адресс)}
   Port := 25; {Порт SMTP сервера (по стандарту RFC 821 равен 25)}

   AuthType := atDefault;
   Username:='...';
   Password:='...';

   Connect; {Подключение к SMTP серверу}
 end;
 With Msg do
 begin
    Subject:='Тестовое сообщение'; //текст темы сообщения
   Recipients.EMailAddresses:='...@mail.ru'; //указываем адрес получателя
   From.Address:='...@yandex.ru';//указываем автора письма
   Body.Text:='Тестовый текст';//размещаем текст сообщения
   Date:=StrToDate('01.01.2009');//дата отправки письма, может быть любой
 end;

 if IdSMTP.Connected=True then  IdSMTP.Send(Msg);

 IdSMTP.Disconnect;


где текст жирный программа отваливаеться:

Project <project-name> raised exception class EAccessViolation with message "AccessViolation at address 0040408AC in module <project-name>".

пытаюсь понять что за зверь Msg: TIdMessage;
в справке написано что живет в файле IdMessage
нажимаю ctrl и давлю мышей на этот модуль - пишет не найдет.....
хотя ошибок при компиляции нет....

где что неправильно?

ps. Delphi 2006


TRSteep   (2008-09-03 12:27:00) [1]

оказалось дело было не в бабине :)
вобщем во From.Address:='...@yandex.ru';//указываем автора письма
указал с ошибкой - как переправил - все ушло - правда заголовок не правильно прочитался- но это уже другая история :)))

Всем спасибо за советы и помощь!


brother   (2008-09-03 12:20:00) [2]

брррр, запутал), SMTP - отправка, POP3 - прием)


TRSteep   (2008-09-03 12:16:00) [3]

ой всмысле наоборот отправка... :)))


brother   (2008-09-03 12:06:00) [4]

> IdSMTP

дык это и есть прием, отправка по POP3 )


TRSteep   (2008-09-03 12:03:00) [5]

вылтает здесь
if IdSMTP.Connected=True then  IdSMTP.Send(Msg);
в примерах - только прием почты...


> EMailAddresses is a String property that represents the
> contents of the collection as a comma-delimited list of
> email addresses in RFC 2822-compliant form

у меня же только один ящик.... его вроде не нажно разделять запятыми....?


Сергей М.   (2008-09-03 11:41:00) [6]

EMailAddresses is a String property that represents the contents of the collection as a comma-delimited list of email addresses in RFC 2822-compliant form


TRSteep   (2008-09-03 11:30:00) [7]


> эт не теория, это практика, основы самые так сказать...
> в книжках про них пишут... а демонстрационных проектов у
> indy - попой кушай... идешь и смотришь

примеры.... надо посмотреть хоть :)


TRSteep   (2008-09-03 11:29:00) [8]


> А где собссно сам текст этого message ?

вот пустой он! '' и все....


Сергей М.   (2008-09-03 11:14:00) [9]


> EIdSNTPReplyError with message


А где собссно сам текст этого message ?


brother   (2008-09-03 11:06:00) [10]

> ты глумленья не просек? :)


> класс!

со всем смаком ;)


Palladin   (2008-09-03 11:05:00) [11]


> сам теорию еще до конца не понимаю..

эт не теория, это практика, основы самые так сказать... в книжках про них пишут... а демонстрационных проектов у indy - попой кушай... идешь и смотришь


Palladin   (2008-09-03 11:05:00) [12]


> brother ©   (03.09.08 10:48) [16]

ты глумленья не просек? :)


brother   (2008-09-03 10:48:00) [13]

> объявил

а создавать/уничтожать delphi сама будет?! класс!


TRSteep   (2008-09-03 10:47:00) [14]


> Страшную тайну открою тебе :

Спасибо большое!


> копипастер? и то не все скопировал? )

вобще разные статьи смотрел
везде есть недочеты, где то модули не указаны какие, синтаксические ошибки и пр.
да и во основном одна - две статьи везде одни и теже
где вобще работают с NMsmtp; которого нету у меня...

> Ну а сам объект класса TIdMessage за тебя кто будет создавать,
>  Пушкин что ли ?

Хм... в статье не было этого - сам теорию еще до конца не понимаю..

создал: Msg := TIdMessage.Create;и освободил: Msg.Free

Теперь ругаеться так:
Project <project-name> raised exception class EIdSNTPReplyError with message ''.
я чегото совсем запутался.....


Palladin   (2008-09-03 10:26:00) [15]

Ну так он же ее объявил в разделе перменных, должно работать... логично же :)


brother   (2008-09-03 10:14:00) [16]

> нашел статью - делаю по ней

копипастер? и то не все скопировал? )


Сергей М.   (2008-09-03 10:08:00) [17]


> при работе опять выдает ошибку


Ну а сам объект класса TIdMessage за тебя ктобудет создавать, Пушкин что ли ?


TRSteep   (2008-09-03 10:06:00) [18]

а! IdMessage.dcu там лежит - а IdMessage.pas сейчас нашел в
$(BDS)\source\Indy10\Protocols
потом еще сказал что не нашел IdCompilerDefines.inc
я нашел его в
$(BDS)\source\Indy10\Core\IdCompilerDefines.inc

все прописал library path и в Browsing path
вроде теперь нормально находит когда по контролу кликаешь

но при работе опять выдает ошибку


Сергей М.   (2008-09-03 09:59:00) [19]

Страшную тайну открою тебе :

в меню IDE "Search -> Find in files .." можно задать модель поиска (в твоем случае это TIdMessage = class), указать что поиск следует осуществлять в такой-то корневой папке и во всех вложенных подпапках - и среда покажет тебе имена файлов с полными абсолютными путями к ним, где встречается эта модель.


Сергей М.   (2008-09-03 09:49:00) [20]


> зачем сразу поискал


Т.е. Проводник категорично утверждает, что файл IdMessage.pas найден в папке

$(BDS)\lib\Indy10

а его там на самом деле нет ?!

Чудны дела твои, господи) ..


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо