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

Вниз

INDY attach   Найти похожие ветки 

 
zdm ©   (2006-11-22 11:40) [0]

Дайте пожалуйста пример прикрепления файла к письму.


 
zdm ©   (2006-11-22 11:56) [1]

ведь не сложно же, просто встрял и не могу растормозиться, ну помогите же!!!! есть IdSMTP,IdMessage -просто письмо отрправляется без проблем, а для присоединения файла нужен constructor, в инете все ссылки на одну и ту же статью, не могу самостоятельно разобраться, может есть у кого готовый unit , приведите пример, пожалуйста!


 
zdm ©   (2006-11-22 12:51) [2]

АУ


 
Орион ©   (2006-11-22 13:19) [3]

в ответ эхо: "у... у..."


 
easy ©   (2006-11-22 13:19) [4]

*:\Program Files\Borland\Delphi\Demos\Indy\MailClient\MailDemo.dpr


 
Megabyte ©   (2006-11-22 14:29) [5]

msg : TIdMessage;
file : TIdMessagePart;
file := TIdAttachment.Create(msg.MessageParts, путь до attachfile);


 
zdm ©   (2006-11-22 14:34) [6]

блин, диска нету, а демки не ставил, скиньте текст юнита


 
zdm ©   (2006-11-22 14:39) [7]


> Megabyte ©   (22.11.06 14:29) [5]

Так и делал. Я правильно понял?
procedure TForm_Osn.Button1Click(Sender: TObject);
var
msg : TIdMessage;
file_for_attach : TIdMessagePart;

begin
 IdSMTP1.Connect;
 file_for_attach := TIdAttachment.Create(msg.MessageParts, "c:\1\1.zip");
выдает ошибку что кол-во пар-ров превышено, т.е.  "c:\1\1.zip" лишний... Я туплю и понимаю это ну помогите разобраться.


 
Anatoly Podgoretsky ©   (2006-11-22 14:50) [8]

> zdm  (22.11.2006 14:39:07)  [7]

F1 + TIdAttachment.Create


 
zdm ©   (2006-11-22 14:57) [9]

Хорошо, мне стыдно, но не занимался я ни когда constractor-ами, пожалуйста, распишите где, что и в каких секцияц надо прописать.
constructor Create(Collection: TIdMessageParts; const AFileName: TFileName = ""); reintroduce;


 
Anatoly Podgoretsky ©   (2006-11-22 15:02) [10]

> zdm  (22.11.2006 14:57:09)  [9]

Сначала справка, потом что непонятно в ней, потом что не выходит в коде.
Это как я понимают из справки по конструктору
Тогда первый параметр существующая коллекция, второй имя файла


 
zdm ©   (2006-11-22 15:08) [11]


> Anatoly Podgoretsky ©

Ты всё как всегда правильно понимаешь. Нету сейчас под рукой книги, ведь задачка то элементарная, кинуть пару компонент-присоеденить файл-и кинуть сюда текст юнита, чего разглагольствовать то? Ну туплю, а надо решить задачку побыстрей.


 
Anatoly Podgoretsky ©   (2006-11-22 15:19) [12]

> zdm  (22.11.2006 15:08:11)  [11]

Ну правильно говоришь, задача элементарная, тебе даже код привели.
А вот в чем тупишь, вот это и надо объяснять, да так что бы другим было понятно.


 
zdm ©   (2006-11-22 15:24) [13]


> Anatoly Podgoretsky ©   (22.11.06 15:19) [12]

Что и в каких секциях прописать!!!


 
zdm ©   (2006-11-22 15:27) [14]

ну не создавал я кострукторов!!!!


 
Anatoly Podgoretsky ©   (2006-11-22 15:28) [15]

> zdm  (22.11.2006 15:24:13)  [13]

О каких секциях идет речь.
Кроме того я сумел забыть почти все что знал про Инди где то за неделю.
Я его не использую ни в каком виде, альтернатив хватает.


 
zdm ©   (2006-11-22 15:30) [16]


> Anatoly Podgoretsky ©   (22.11.06 15:28) [15]

Какие?


 
Anatoly Podgoretsky ©   (2006-11-22 15:30) [17]

> zdm  (22.11.2006 15:27:14)  [14]

А их и не надо создавать, все уже создано до нас. Просто используй существующее.


 
Anatoly Podgoretsky ©   (2006-11-22 15:33) [18]

> zdm  (22.11.2006 15:30:16)  [16]

Сходи на торри, там этого добра уйма, от гигантских наборов, до узкоспециализированых, только отсылка почти и больше ничего. Можно посмотреть в сторону Синапс, тоже что и Инди, только не монстр.


 
zdm ©   (2006-11-22 15:33) [19]


> Anatoly Podgoretsky ©   (22.11.06 15:30) [17]

Какие?!?!?!? Анатолий, ну ответь хоть раз конкертно!


 
zdm ©   (2006-11-22 15:34) [20]

ок, у меня форум подтормаживает всегда, поэтому не одекватные ответы могут показаться, сейчас поищу


 
zdm ©   (2006-11-22 15:37) [21]


> > Anatoly Podgoretsky ©

если не трудно, кинь ссылки.


 
Anatoly Podgoretsky ©   (2006-11-22 15:44) [22]

> zdm  (22.11.2006 15:33:19)  [19]

Хорошо, конкретно - я использую ICS


 
Megabyte ©   (2006-11-22 15:44) [23]


> zdm ©  (22.11.06 14:57) [9]

Хорошо, мне стыдно, но не занимался я ни когда constractor-ами, пожалуйста, распишите где, что и в каких секцияц надо прописать.
constructor Create(Collection: TIdMessageParts; const AFileName: TFileName = ""); reintroduce;

Какие еще конструкторы, кроме стандартного? Не гони.

msg : TIdMessage;
file : TIdMessagePart;
msg := TIdMessage.Create(nil); Не забыл?
file := TIdAttachment.Create(msg.MessageParts, путь до attachfile);


 
Anatoly Podgoretsky ©   (2006-11-22 15:44) [24]

> zdm  (22.11.2006 15:37:21)  [21]

Сколько раз говорил, ссылки не храню, зачем? Есть же поисковые системы.


 
zdm ©   (2006-11-22 15:49) [25]


> Anatoly Podgoretsky ©   (22.11.06 15:44) [22]

ок, посмотрю


> Megabyte ©   (22.11.06 15:44) [23]

Не ругайся только, ну не получается, кинь пожалуйста целиком текст юнита. Спасибо


 
Anatoly Podgoretsky ©   (2006-11-22 15:57) [26]

> Megabyte  (22.11.2006 15:44:23)  [23]

Этот код уже приводили.


 
Megabyte ©   (2006-11-22 16:05) [27]


> Не ругайся только, ну не получается, кинь пожалуйста целиком текст юнита. Спасибо

Да нечего больеше приводить. Остальное к твоей задаче вообще не относится...


> Anatoly Podgoretsky ©  (22.11.06 15:57) [26]

> Megabyte  (22.11.2006 15:44:23)  [23]

Этот код уже приводили

Прочитал, не увидел...
Просто это единственное, что имхо можно было забыть, чтобы компилятор ругнулся... Все остальные проблемы уже не в приаттачивании файла.
Ну и конечно, в конце надо разрушить file, но на это компилятор не ругнется.


 
zdm ©   (2006-11-22 16:13) [28]


> Megabyte ©   (22.11.06 16:05) [27]

Брат, я писал, что не создавал конструкторов, ну если тебе не трудно, создай быстренько приложение с прекрепленным файлом, и брось сюда текст, пожалуйста, буду очень благодарен.


 
Virgo_Style ©   (2006-11-22 16:17) [29]

а при чем тут создание конструкторов


 
Андрей Сенченко ©   (2006-11-22 16:18) [30]

zdm ©   (22.11.06 16:13) [28]

да не нужно тебе создавать никаких конструкторов. Тебе нужно создать переменную объявленного тобой класса


 
Андрей Сенченко ©   (2006-11-22 16:22) [31]

На вот. В местной кладовке нарыто. Давно бы уже сам нашел.

procedure SendMail;
var
 LSMTP: TIdSMTP;
 LMsg: TIdMessage;
begin
 LSMTP := TIdSMTP.Create(nil);
 LMsg := TIdMessage.Create(LSMTP);

with LMsg do
 begin
   CharSet := "rus-ascii";
   From.Name := spMailName;
   From.Address := spMailAddr;
   Recipients.EMailAddresses := spToMail;
   Subject := spToSubj;
   Body.Text := spToBody;
   if length(spToAttc) > 0
   then TIdAttachment.Create(LMsg.MessageParts, spToAttc);
 end;

with LSMTP do
 begin
   AuthenticationType:=atLogin;
   Port := spMailPort;
   Host := spMailHost;
   UserId := spUserId;
   if length(spMailPass) > 0
   then Password := spMailPass;
   try
     Connect;
     Send(LMsg);
//     ShowMessage("письмо отправлено");
   except
     on e:exception do
     begin
       showmessage (Trim(e.message));
     end;
   end;
   Disconnect;
 end;
 FreeAndNil(LMsg);
 FreeAndNil(LSMTP);
end;


 
zdm ©   (2006-11-22 16:24) [32]

я понимаю, что туплю в какой то мелочи , но не могу её вычеслить вот код, подскажите где ошибка?

unit Unit5;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
 IdExplicitTLSClientServerBase, IdMessageClient, IdSMTPBase, IdSMTP, IdIMAP4,
 IdMessage,IdAttachment,IdMessageParts;

type
 TForm5 = class(TForm)
   IdSMTP1: TIdSMTP;
   Button1: TButton;
   IdMessage1: TIdMessage;

   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public

   { Public declarations }
 end;

var
 Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
var
msg : TIdMessage;
file_ : TIdMessagePart;

begin
IdSMTP1.Disconnect;
 msg := TIdMessage.Create(nil);
 IdSMTP1.Connect;
 file_ := TIdAttachment.Create(msg.MessageParts, "c:\1\1.zip"); ////Вот сдесь ошибка!!!!!!!

TIdAttachment.Create(IdMessage1);
IdSMTP1.Send(IdMessage1);
end;

end.


 
zdm ©   (2006-11-22 16:31) [33]

блин, у меня сейчас крыша съедит, ну нету у TIdAttachment.create свойства "имя файла" там только "Tcollecrtion"


 
Anatoly Podgoretsky ©   (2006-11-22 16:31) [34]


> Прочитал, не увидел...

Смотри 5, там не приведено создание всей цепочки объектов, но это ведь само собой подразумеваемое.


 
zdm ©   (2006-11-22 16:34) [35]

приведите пожалуйста весь текст юнита, ну неужели это так сложно?!?!?!?!?


 
Anatoly Podgoretsky ©   (2006-11-22 16:34) [36]

Так может у тебя версия не та?


 
zdm ©   (2006-11-22 16:37) [37]


> Anatoly Podgoretsky ©   (22.11.06 16:34) [36]

блин, а может правда, у меня bds2006 ну и полагающейся с ней комплект indy компонент.


 
Джо ©   (2006-11-22 16:40) [38]

> > Anatoly Podgoretsky ©   (22.11.06 16:34) [36]
>
> блин, а может правда, у меня bds2006 ну и полагающейся с
> ней комплект indy компонент.

Да, вроде в том Инди, который в BDS2006, в конструкторе всего один параметр. Зато у TIdAttachment имеется метод TIdAttachment.LoadFromStream :)


 
Anatoly Podgoretsky ©   (2006-11-22 16:41) [39]

> zdm  (22.11.2006 16:37:37)  [37]

Тогда у тебя Инди 10


 
Джо ©   (2006-11-22 16:41) [40]

Более того, у него имеется специализированный наследник: TIdAttachmentFile. И у него уже в конструкторе можно прямо задавать имя файла.



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

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

Наверх




Память: 0.56 MB
Время: 0.03 c
15-1163701134
Chort
2006-11-16 21:18
2006.12.10
День студента


1-1161780797
Антоныч
2006-10-25 16:53
2006.12.10
Удаление картинки из листа Excel


2-1163773206
KyRo
2006-11-17 17:20
2006.12.10
не могу передать файл через TServerSocket


15-1164005896
vidiv
2006-11-20 09:58
2006.12.10
Вопрос по MSSQL


15-1163769802
saxon
2006-11-17 16:23
2006.12.10
прикольный тест