![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
комноненты Indi, что я делаю неправильно? [D5, D7, Win2k, WinXP]
Dust © (2006-03-16 17:15:00)Пытаюсь загнать говотое письмо в TIdMessage, получаю Exception, что я делаю неправильно?
procedure TForm1.Button1Click(Sender: TObject);
var idMsg : TIdMessage;
MsgFileName :String;
NewMsg :TEmailMessage;
tick_count :Integer;
MsgBody :TStringList;
tmp_str :String;
begin
IdSMTP1.Password := Edit3.Text;
IdSMTP1.Username := Edit2.Text;
IdSMTP1.Host := Edit1.Text;
IdSMTP1.UseEhlo := True;
// IdSMTP1.Connect(1500);
if true (*IdSMTP1.Authenticate()*) then
begin
StatusBar1.Panels[0].Text := 'Authenticated';
NewMsg := TEmailMessage.Create();
NewMsg.Date := Now();
NewMsg.From := Edit6.Text;
NewMsg.ReplyTo := Edit6.Text;
NewMsg.AttachFile('c:\andrexa\Projects\Outbox.eml\fr_rus.rar');
NewMsg.MailTo := Edit5.Text;
NewMsg.Subject := Edit4.Text;
NewMsg.IncludeTextPart(TStringList(Memo1.Lines));
NewMsg.EncodeMessage();
tick_count := GetTickCount();
MsgFileName :='Outbox.eml\'+IntToStr(tick_count)+'.eml';
NewMsg.SaveToFile(MsgFileName);
SetLength( tmp_str, NewMsg.MsgSize);
Move (NewMsg.MsgPtr^, Pointer(tmp_str)^, NewMsg.MsgSize);
FreeAndNil(NewMsg);
MsgBody := TStringList.Create();
MsgBody.SetText(PChar(tmp_str));
idMsg := TIdMessage.Create(nil);
//idMsg.SetBody(MsgBody);
try
idMsg.LoadFromFile(MsgFileName); // !!!!!!!!!!!!!!!!!!!!!!!!!!! Exception!!!!!!!!!!!!
except
ShowMessage (Exception.ClassName);
end;
//IdSMTP1.Send(idMsg);
FreeAndNil(idMsg);
FreeAndNil (MsgBody);
end;
end;
Brother (2006-03-24 11:11:00) [1]Огромное спасибо
Суслик (2006-03-23 22:08:00) [2]
> Brother © (20.03.06 06:30) [6]
http://www.indyproject.org/Sockets/Download/Files/Indy10.en.iwp
Brother (2006-03-20 06:30:00) [3]Подскажите ссылочку для закачки Indy 10
Dust (2006-03-17 17:01:00) [4]в 10-й версии компонент Indy всё работает.
Dust (2006-03-16 17:36:00) [5]посмотрел как это делал народ в форуме,
заменил
idMsg := TIdMessage.Create(nil);
на
idMsg := TIdMessage.Create(IdSMTP1);
Этого оказалось недостаточно.... :(
что ещё?
Reindeer Moss Eater (2006-03-16 17:34:00) [6]Ну и славно.
Dust (2006-03-16 17:29:00) [7]Мне вообще не нужно появления каких ли б это ни было исключений, мне просто нужно загрузить письмо из файла, или другим путём и передать его по сети, именно это у меня и не получается.
Reindeer Moss Eater (2006-03-16 17:22:00) [8]что я делаю неправильно?
Замени это
except
ShowMessage (Exception.ClassName);
end;
на это
except
on E:Exception do ShowMessage (E.Message);
end;
и узнаешь что