![]() |
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:
Die Datei direkt im Konstruktor mit anzugeben hat auch nicht geholfen.
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; |
Re: TIdAttachment 'Cannot open File'
Code:
Ändere mal die Variable oder ned Namen der Procedur.
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; |
Re: TIdAttachment 'Cannot open File'
danke für den Tipp. Ändert aber nichts am Problem. :(
|
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... |
Re: TIdAttachment 'Cannot open File'
Tut mir leid. Die if-Bedingung wird erfüllt, aber der Fehler ist immer noch da. :(
|
Re: TIdAttachment 'Cannot open File'
Hai Luckie,
verwende doch anstelle von TidAttachment mal zum testen TIdAttachmentFile (unit IdAttachmentFile) und dann einfach:
Delphi-Quellcode:
Ich hoffe das gibt es so bei Indy-9, ich habe nämlich nur die 10er installiert.
begin
. . Mail := TIdMessage.Create(frmMail); try Mail.Clear; att := TIdAttachmentFile.Create(Mail.MessageParts,AttFileName); IdSMTP1.Send(Mail); finally FreeAndNil(Att); IdSMTP1.Disconnect; end; end; |
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 01:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz