Einzelnen Beitrag anzeigen

Benutzerbild von ascotlx
ascotlx

Registriert seit: 8. Mär 2005
Ort: Hamburg
97 Beiträge
 
Delphi 7 Professional
 
#1

E-Mail über SMTP (ohne Attachment) senden

  Alt 22. Feb 2008, 15:33
Moin moin,

ich habe mir anhand der Indy Tools eine Möglichkeit geschaffen aus meinem Programm Meldungen an meine E-Mail Adresse zu schicken. Die Informationen die ich benötige schreibe ich in das Subject und die E-Mail wird verschickt. Bis hierhin klappt alles...
Nu öffne ich mein E-Mail Programm und stelle mit entsetzen fest, das an der E-Mail ein Attachment hängt und ich bekomme diesen aber nicht weg. In dem Attachment steht entweder nichts (Memo1 ist leer) oder es steht der Text dort drin, den ich vorher in das Memo schreibe, aber ich bekomme immer ein Attchament mitgschickt, was ich aber nicht will, und wenn soll der Text in der E-Mail stehen und nicht als Attachment angehängt werden. Mir gehen langsam die Ideen aus .. kann mir jemand helfen ??

(Ach ja, es ist egal mit welchem E-Mail Client ich arbeite, auch mein webmail Client bekommt einen Anhang (Anhang.txt))

hier die verwendete funktion

Delphi-Quellcode:
function TForm1.SendMail(toMail: string; Betreff: string): boolean;
begin
  IdMessage1.MessageParts.Clear;
  result := true;

  with IdMessage1 do
  begin
    Memo1.Clear;
    Body.Assign(Memo1.Lines);
    From.Text := 'testprogramm@hallodu.de';
    Recipients.EMailAddresses := toMail;
    Subject := Betreff;
    Priority := mpNormal;
    //Content Typ
    ContentType := 'plain/text';
  end;
   //Authentifizierung nötig?
  IdSMTP1.AuthType := atNone;
  //Server-Daten
  IdSMTP1.Host := 'smtp.server.werauchimmer';
  IdSMTP1.Port := 25;

  try
   try
    if not IdSMTP1.Connected then IdSMTP1.Connect;
    if IdSMTP1.Connected then IdSMTP1.Send(idMessage1);
   except
    on e: Exception do
     begin
      Writelog('!! SMTP Sendefehler. Es konnte keine E-Mail verschickt werden. !! ');
      WriteLog(' '+e.Message);
      result:=false;
     end;
   end;
  finally
   if IdSMTP1.Connected then idSMTP1.Disconnect;
    IdMessage1.Free;
    IdSmtp1.Free;
  end;
end;
Bin für jede Hilfe dankbar ...

cu
ascotlx

[EDIT]
Der Fehler war:
ContentType:='plain/text'; so ist's richig
ContentType:='text/plain';

[/EDIT]
workarounds gibt es wie Sand am Meer und manchmal hat man ein workaround ohne es zu wissen
  Mit Zitat antworten Zitat