![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отправка почты [D2005, XP]
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
а его там на самом деле нет ?!
Чудны дела твои, господи) ..