Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   TIdAttachment 'Cannot open File' (https://www.delphipraxis.net/57885-tidattachment-cannot-open-file.html)

Luckie 28. Nov 2005 12:39


TIdAttachment 'Cannot open File'
 
Ich versuche mit den Indy Komponenten (9.0.11) eine Mail mit Anhang zu versenden. leider klappt das mit dem Anhang nicht so recht. ich bekomme immer die Meldung, dass er die Datei, die er versenden soll, nicht öffnen können. Der Pfad stimmt aber definitiv, da sie vorher in einem RichEdit geöffnet wurde.

Die Forensuche war leider erfolglos. Es wurd eimmer auf TIdAttachmentFile aus der Version 10 hingewiesen, diese kann ich aber nicht einsetzen, da ich nicht weiß, was ich dann noch alles ändern müsste.

Hier mal mein bisheriger Code:
Delphi-Quellcode:
procedure TfrmMail.Mail(Receiver, Subject, AttFilename: string; Body: TStrings);
var
  Mail             : TIdMessage;
  Att              : TIdAttachment;
begin
  IdSMTP1.Host := 'luckie-online.de';
  IdSMTP1.Username := 'bar';
  IdSMTP1.Password := 'foo';
  IdSMTP1.Connect;
  Mail := TIdMessage.Create(frmMail);
  try
    Mail.Clear;
    Mail.Recipients.EMailAddresses := Receiver;
    Mail.From.Address := 'mpuff@luckie-online.de';
    Mail.Subject := Subject;
    Mail.Body := Body;
    Mail.ReplyTo.EMailAddresses := 'mpuff@luckie-online.de';

    Att := TIdAttachment.Create(Mail.MessageParts);
    Att.FileName := AttFilename;

    IdSMTP1.Send(Mail);
  finally
    FreeAndNil(Att);
    IdSMTP1.Disconnect;
  end;
end;
Die Datei direkt im Konstruktor mit anzugeben hat auch nicht geholfen.

turboPASCAL 28. Nov 2005 13:08

Re: TIdAttachment 'Cannot open File'
 
Code:
procedure TfrmMail.[color=#ff001f]Mail[/color](Receiver, Subject, AttFilename: string; Body: TStrings);
var
  [color=#ff001f]Mail[/color]             : TIdMessage;
  Att              : TIdAttachment;
begin
  IdSMTP1.Host := 'luckie-online.de';
  IdSMTP1.Username := 'bar';
  IdSMTP1.Password := 'foo';
  IdSMTP1.Connect;
  Mail := TIdMessage.Create(frmMail);
  try
    Mail.Clear;
    [b][...][/b]

    Att := TIdAttachment.Create(Mail.MessageParts);
    Att.FileName := AttFilename;

    [color=#ff001f]IdSMTP1.Send(Mail);[/color]
  finally
    FreeAndNil(Att);
    IdSMTP1.Disconnect;
  end;
end;
Ändere mal die Variable oder ned Namen der Procedur.

Luckie 28. Nov 2005 13:11

Re: TIdAttachment 'Cannot open File'
 
danke für den Tipp. Ändert aber nichts am Problem. :(

turboPASCAL 28. Nov 2005 13:35

Re: TIdAttachment 'Cannot open File'
 
Hm, ich erstelle das Attachment so ( Indy 9.0.18 ):
Delphi-Quellcode:
if (AttFilename <> '') and (FileExists(AttFilename)) then
begin
  Att := TIdAttachment.Create(Mail.MessageParts, AttFilename);
end else...

Luckie 28. Nov 2005 13:41

Re: TIdAttachment 'Cannot open File'
 
Tut mir leid. Die if-Bedingung wird erfüllt, aber der Fehler ist immer noch da. :(

Sharky 28. Nov 2005 16:20

Re: TIdAttachment 'Cannot open File'
 
Hai Luckie,

verwende doch anstelle von TidAttachment mal zum testen TIdAttachmentFile (unit IdAttachmentFile) und dann einfach:
Delphi-Quellcode:
begin
 .
 .
  Mail := TIdMessage.Create(frmMail);
  try
    Mail.Clear;
    att := TIdAttachmentFile.Create(Mail.MessageParts,AttFileName);

    IdSMTP1.Send(Mail);
  finally
    FreeAndNil(Att);
    IdSMTP1.Disconnect;
  end;
end;
Ich hoffe das gibt es so bei Indy-9, ich habe nämlich nur die 10er installiert.

Luckie 28. Nov 2005 19:04

Re: TIdAttachment 'Cannot open File'
 
Eben genau die gibt es erst ab Indy 10, sonst hätte ich das ja schon längst gemacht. Aber es muss doch irgendwie möglich sein das zum Laufen zu bringen. :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz