Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.12;
Скачать: CL | DM;

Вниз

Отправка почты   Найти похожие ветки 

 
TRSteep ©   (2008-09-03 08:58) [0]

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

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


 
Сергей М. ©   (2008-09-03 09:03) [1]


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


В опциях окружения IDE не прописан путь к папке, где лежит IdMessage.pas


 
Anatoly Podgoretsky ©   (2008-09-03 09:14) [2]

> TRSteep  (03.09.2008 8:58:00)  [0]

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

Это явно не полное сообщшеие.


 
TRSteep ©   (2008-09-03 09:34) [3]

>Anatoly Podgoretsky
ну там еще Write of address 00428FBC

>Сергей М.
там действительно не прописано.
прописал Indy10 - все равно такая же ошибка....


 
TRSteep ©   (2008-09-03 09:38) [4]

причем там нет pas файлов - там dcu только....
это так должна быть?


 
Сергей М. ©   (2008-09-03 09:40) [5]


> прописал Indy10


Что такое "Indy10" ?


 
Сергей М. ©   (2008-09-03 09:42) [6]


> там нет pas файлов


Там их и не должно быть.

Про сквозной поиск файлов на дисках с пом. Проводника ты, конечно же, ничего не слышал ?


 
TRSteep ©   (2008-09-03 09:46) [7]

зачем сразу поискал
там папка $(BDS)\lib\ в ней папки Indy9, Indy10
я и дописал такой путь ..;$(BDS)\lib\Indy10


 
TRSteep ©   (2008-09-03 09:48) [8]

добавил в library path и в Browsing path


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


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


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

$(BDS)\lib\Indy10

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

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


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

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

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


 
TRSteep ©   (2008-09-03 10:06) [11]

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

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

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


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


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


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


 
brother ©   (2008-09-03 10:14) [13]

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

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


 
Palladin ©   (2008-09-03 10:26) [14]

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


 
TRSteep ©   (2008-09-03 10:47) [15]


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

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


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

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

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

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

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

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


 
brother ©   (2008-09-03 10:48) [16]

> объявил

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


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


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

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


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


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

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


 
brother ©   (2008-09-03 11:06) [19]

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


> класс!

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


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


> EIdSNTPReplyError with message


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


 
TRSteep ©   (2008-09-03 11:29) [21]


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

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


 
TRSteep ©   (2008-09-03 11:30) [22]


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

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


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

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 12:03) [24]

вылтает здесь
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

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


 
brother ©   (2008-09-03 12:06) [25]

> IdSMTP

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


 
TRSteep ©   (2008-09-03 12:16) [26]

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


 
brother ©   (2008-09-03 12:20) [27]

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


 
TRSteep ©   (2008-09-03 12:27) [28]

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

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



Страницы: 1 вся ветка

Текущий архив: 2008.10.12;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.019 c
1-1199909700
maxistent
2008-01-09 23:15
2008.10.12
Потоки и процедуры...


2-1219920043
biver64
2008-08-28 14:40
2008.10.12
Удаление файла


2-1220272776
fellow
2008-09-01 16:39
2008.10.12
richedit и ??????? вместо кириллицы


2-1220256443
Q123
2008-09-01 12:07
2008.10.12
Универсальный метод для сортировки масивов.


4-1197627377
lead-in
2007-12-14 13:16
2008.10.12
WinSock2, ф. Connect