AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mehrere Dateien als Anhang verschicken.

Mehrere Dateien als Anhang verschicken.

Offene Frage von "Sir K"
Ein Thema von Sir K · begonnen am 27. Feb 2009 · letzter Beitrag vom 1. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2   
Sir K

Registriert seit: 30. Nov 2008
75 Beiträge
 
RAD-Studio 2009 Arc
 
#1

Mehrere Dateien als Anhang verschicken.

  Alt 27. Feb 2009, 12:45
Hallo

ich verschicke via IdSMTP und IdMessage mails in einem Programm. Jetzt wollte ich noch nen Anhang hinzufügen und hab dafür dann folgenden Code genommen:
Delphi-Quellcode:
var
  iAttachment : TIdAttachmentFile ;
  iFile: String;
begin
...
iAttachment := TIdAttachmentFile.Create(IdMessage.MessageParts, iFile) ;
Nur jetzt möchte ich nicht nur eine Datei sondern mehrere die ich mir aus nem Array hole verschicken.

Kann mir jemand sagen wie ich das am besten anstelle?

LG

Sir K
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: Mehrere Dateien als Anhang verschicken.

  Alt 27. Feb 2009, 12:54
Hallo,

gugst Du bitte hier: http://www.delphipraxis.net/internal...=841166#841166
  Mit Zitat antworten Zitat
Sir K

Registriert seit: 30. Nov 2008
75 Beiträge
 
RAD-Studio 2009 Arc
 
#3

Re: Mehrere Dateien als Anhang verschicken.

  Alt 27. Feb 2009, 14:15
Ich habs mal ausprobiert aber ich bekomme Zugriffsverletzungen gemeldet wenn ich die mail versenden möchte:
Delphi-Quellcode:
var
  iAttachment: TIdAttachmentFile;
  i: Integer;
begin

...
 
i:=0;
while not(MyAttatchments[i] = '') do
  begin
    iAttachment.Create(IdMessage1.MessageParts, MyAttatchments[i]);
    i:=i+1;
  end;
Lg
Sir K
  Mit Zitat antworten Zitat
Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Mehrere Dateien als Anhang verschicken.

  Alt 27. Feb 2009, 14:19
sollte es nicht

while not(MyAttatchments[i] = '') do

heissen?

Im Übrigen halte ich das Konstrukt aus dem Beispiel von naphets für besser ...
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat
Sir K

Registriert seit: 30. Nov 2008
75 Beiträge
 
RAD-Studio 2009 Arc
 
#5

Re: Mehrere Dateien als Anhang verschicken.

  Alt 27. Feb 2009, 14:36
Zitat von Billa:
sollte es nicht

while not(MyAttatchments[i] = '') do

heissen?

Im Übrigen halte ich das Konstrukt aus dem Beispiel von naphets für besser ...
...nee daran leigts nicht das is nur n tippfehler hier gewesen^^ bei mir im Code stehts.

LG

Sir K
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Mehrere Dateien als Anhang verschicken.

  Alt 27. Feb 2009, 15:28
Hi,

Zitat von Sir K:
Ich habs mal ausprobiert aber ich bekomme Zugriffsverletzungen gemeldet wenn ich die mail versenden möchte:
Delphi-Quellcode:
var
  iAttachment: TIdAttachmentFile;
  i: Integer;
begin

...
 
i:=0;
while not(MyAttatchments[i] = '') do
  begin
    iAttachment.Create(IdMessage1.MessageParts, MyAttatchments[i]);
    i:=i+1;
  end;
Kein wunder, Du greifst auf eine uninitialisiert Variable zu. Das ist genauso verkehrt wie z.B. MyForm.Create() statt MyForm := TMyForm.Create().

Also eher:
Delphi-Quellcode:
while not(MyAttatchments[i] = '') do
begin
  iAttachment := TIdAttachmentFile.Create(IdMessage1.MessageParts, MyAttatchments[i]);
  i:=i+1;
end;
Ich würde das iAttachment aber ganz weglassen und das so machen:
Delphi-Quellcode:
while not(MyAttatchments[i] = '') do
begin
  TIdAttachmentFile.Create(IdMessage1.MessageParts, MyAttatchments[i]);
  i:=i+1;
end;
Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Sir K

Registriert seit: 30. Nov 2008
75 Beiträge
 
RAD-Studio 2009 Arc
 
#7

Re: Mehrere Dateien als Anhang verschicken.

  Alt 28. Feb 2009, 15:28
Also mit diesem Code werden zwar die entsprechenden Attatchments angehängt allerdings kommen diese dann als *.dat an.
Ich hab zum Beispiel mal zwei *.jpeg angehängt und in der eMail tauchen diese dann als

ATT00017.dat und ATT00014.dat auf.

Weis jemand was da schief läuft?
Delphi-Quellcode:
i:=0;
while not(MyAttatchments[i] = '') do
begin
  TIdAttachmentFile.Create(IdMessage1.MessageParts, MyAttatchments[i]);
  i:=i+1;
end;
LG

Sir K
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Mehrere Dateien als Anhang verschicken.

  Alt 28. Feb 2009, 15:36
Hi,

freut mich, daß es funktioniert.

Das mit den Anhängen ist bekannt seit ein paar Monaten, steht im QC bei CodeGear und in meinem Blog:
http://blog.digivendo.com/2008/10/fi...lost-in-d2009/

Entweder die Indy Version vollständig aktualisieren oder wie im Blog beschrieben nur die IdMessageClient.pas.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Sir K

Registriert seit: 30. Nov 2008
75 Beiträge
 
RAD-Studio 2009 Arc
 
#9

Re: Mehrere Dateien als Anhang verschicken.

  Alt 28. Feb 2009, 16:04
Also ich wollte jetzt nur den Code ändern weil ich jetzt nicht die ganze INDY aktualiesern will.
Jetzt hab ich nur das Problem, dass ich die IdMessageClients.pas nirgendwo finden kann.

bei mir existiert das Verzeichnis

C:\Program Files\CodeGear\RAD Studio\6.0\source\Indy\Indy10\Protocols\ nur bis zum
C:\Program Files\CodeGear\RAD Studio\6.0\source\

Gibts ne Möglichkeit im RAD Studio zu schaun wo die liegen?

LG

Sir K
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#10

Re: Mehrere Dateien als Anhang verschicken.

  Alt 28. Feb 2009, 18:11
Hi Sir K,

Zitat von Sir K:
IdMessageClients.pas nirgendwo finden kann.
Die Verzeichnisse stimmen, aber die Datei heißt IdMessageClient.pas. Falls Du in den o.g. Verzeichnissen gar keinen Indy Source hast, hast Du entweder eine Trial Version oder aus irgendeinem anderen Grund fehlen bei Dir die VCL/RTL Quellcodes.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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