Entwickler-Ecke

Internet / Netzwerk - Mehrere Anlagen verschicken


Björn karpenstein - Do 29.09.05 21:36
Titel: Mehrere Anlagen verschicken
Hallo!

Es gibt offensichtlich Probleme von meinen Mails, die ich über IdSMTP verschicke mehr als eine Anlage zu dekodieren. Woran kann das liegen? Muss ich da bei Content-Type was eintragen?

Hier der Quelltext:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
procedure TFormular_Mailschreiben.SpeedButton3Click(Sender: TObject);
var IdMessage : TIdMessage;
var ContentID : Integer;
var i : Integer;
begin
  IdMessage := TIdMessage.Create(self);

  if DataModule1.einstellungen.FieldByName('authentifizierung').AsString='Wahr' then
  begin
    IdSMTP1.AuthenticationType := atLogin;
  end else
  begin
    IdSMTP1.AuthenticationType := atNone;
  end;

  IdSMTP1.Username := DataModule1.einstellungen.fieldByName('benutzer').AsString;
  IdSMTP1.Password := DataModule1.einstellungen.fieldByName('passwort').AsString;
  IdSMTP1.Host :=  DataModule1.einstellungen.fieldByName('smtp').AsString;

//  idMessage.Sender.Text:= '"Björn Karpenstein"'+' '+'<bjoern.karpenstein@gmx.de>';
  idMessage.Sender.Address := Edit1.Text;
//  idMessage.CCList := Edit2.Text;
  idMessage.Subject := Edit3.Text;

  with TIdText.Create(IdMessage.MessageParts) do
  begin

    //ContentType := 'text';

//    if ListBox1.Items.Count > 0 then
    //ContentType := 'multipart/mixed';

    Body.Assign(RichEdit1.Lines) ;
  end;

  with TIdText.Create(IdMessage.MessageParts) do
  begin
     //ContentType := 'text/html';

  //  if ListBox1.Items.Count > 0 then
   // ContentType := 'multipart/mixed';

     Body.Add(RichEdit1.Lines.Text);
  end;

  for i:=0 to ListBox1.Items.Count -1 do
  begin
    TIdAttachment.Create(IdMessage.MessageParts, ListBox1.Items[i]);
  end;

  idMessage.Recipients.EMailAddresses:= Edit1.Text;

  // Benutzer des Mailprogramms:
  idMessage.From.Address:= DataModule1.einstellungen.fieldByName('emailadresse').asString;
  idMessage.From.Name := DataModule1.einstellungen.fieldByName('absender').asString;;
  idMessage.ReplyTo.EMailAddresses:= DataModule1.einstellungen.fieldByName('emailadresse').asString;

  IdSMTP1.Connect;

  try
   begin
    IdSMTP1.Send(IdMessage);
    ShowMessage('Die eMail wurde erfolgreich verschickt');
    Edit1.Clear; Edit2.Clear; Edit3.Clear; Richedit1.Clear; ListBox1.Items.Clear;
   end;
  except on E : Exception do
    begin
      ShowMessage('Die eMail konnte nicht versendet werden. Es trat der folgende Fehler auf: '+E.Message);
      IdSMTP1.Disconnect;
    end;
  end;

  IdSMTP1.Disconnect;

  self.Close;


end;



Moderiert von user profile iconUGrohne: Topic aus VCL (Visual Component Library) verschoben am Do 29.09.2005 um 21:49