Einzelnen Beitrag anzeigen

kluckweb

Registriert seit: 8. Okt 2005
149 Beiträge
 
#1

EIdProtocolReplyError bei EMailversandt mit Indy

  Alt 30. Mai 2008, 06:52
Hallo zusammen,

ich hoffe, dass Ihr mir helfen könnt. Mit dem nachfolgenden Code habe ich bisher den Inhalt einer externen Datei geladen, zwei Variablen durch Datenbankwerte ersetzt und diesen neuen Text dann per E-Mail versandt. Das hat auch immer problemlos funktioniert und funktioniert immer noch, wenn ich die E-Mail Zugangsdaten nehme, die ich bisher verwendet habe. Nun haben wir den Server gewechselt und es funktioniert auch soweit alles, bis auf diese Funktion. Wenn ich die neuen E-Mail Zugangsdaten verwende kriege ich entweder folgende Fehlermeldung: "Im Projekt ist eine Exception der Klasse EIdProtocolReplyError aufgetreten. Meldung: See http://pobox.com/~djb/docs/smtplf.html" oder die Fehlermeldung "Die Verbindung wurde erfolgreich geschlossen".


Delphi-Quellcode:
var n : integer;
    text : string;
begin
   // Senden per E-Mail

   IdMessage.Clear;

  // Plain Text
  with TIdText.Create(IdMessage.MessageParts, nil) do
  begin
    ContentType := 'text/plain';
    Body.LoadFromFile('body.txt');
    text := body.Text;
    n := pos('$user',text);
    delete(text,n,5);
    insert(DBAdvEdit12.Text,text,n);
    body.Text := text;

    n := pos('$pw',text);
    delete(text,n,3);
    insert(DBAdvEdit11.Text,text,n);
    body.Text := text;
  end;

  // HTML Part
  with TIdText.Create(IdMessage.MessageParts, nil) do
  begin
    ContentType := 'text/html';
    Body.LoadFromFile('body.php');
    text := body.Text;

    n := pos('$user',text);
    delete(text,n,5);
    insert(DBAdvEdit12.Text,text,n);
    body.Text := text;

    n := pos('$pw',text);
    delete(text,n,3);
    insert(DBAdvEdit11.Text,text,n);
    body.Text := text;
  end;

// TIdAttachment.Create(IdMessage.MessageParts, Filename);


  IdMessage.ContentType := 'text/html';
  IdMessage.From.Address := 'info@meinedomain.de';
  IdMessage.From.Name := 'mein name';
  IdMessage.Recipients.Add.Address := kundendaten.FieldByName('email_haupt').asString;
  IdMessage.Subject := 'betreff';

  IdSMTP.Connect;
  try
    IdSMTP.Send(IdMessage);
  finally
    IdSMTP.Disconnect;
  end;
   // Senden per E-Mail Ende
   showMessage('Die Daten wurden erfolgreich versandt');
end;
Habt Ihr eine Ideee, woran das liegen könnte?

Ich bin mittlerweile soweit, dass es daran zu liegen scheint, dass zwei Dateien geladen werden und dort Daten ersetzt werden. Nehme ich z.B. das Laden und Ersetzen der PHP Datei oder alternativ des Textes heraus, versendet er eine leere E-Mail. Kopiere ich alles nochmal in den Body versendet er eine HTML E-Mail ohne Formatierung.

Ich wäre sehr dankbar, wenn Ihr mir vielleicht mit dem einen oder anderen Tip helfen könntet, was man hier machen kann, damit man eine E-Mail mit HTML Formatierung weiterhin versenden kann.

Vielen Dank im Voraus.

[edit=SirThornberry]Titel geändert - Das es sich um ein Problem handelt sagt bereits die gewählte Sparte aus - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat