Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SMTP via Indy - RCPT First (https://www.delphipraxis.net/132228-smtp-via-indy-rcpt-first.html)

Svenkan 8. Apr 2009 10:46


SMTP via Indy - RCPT First
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute!
Bis gestern funktionierte in meinem Projekt das Versenden der eMails mit Anhang wunderbar. Als ich gerade Delphi und das Projekt gestartet und eine eMail verschickt hab, bekam ich die Fehlermeldung:

Zitat:

5.5.1 RCPT First {mp003}
Hier der Code:

Delphi-Quellcode:
procedure TeMail_Versand.BitBtn1Click(Sender: TObject);
var Ini: TIniFile;
    UseLogin: Boolean;
    senderName,senderAdresse: String;
    i: Integer;
begin
 try
    Ini:=TIniFile.Create(prgpfad+'conf.ini');

    UseLogin := Ini.ReadBool('eMail-Versand','Login benutzen',True);
    SMTP.Host:=Ini.ReadString('eMail-Versand','Server','');
    SMTP.Port:=Ini.ReadInteger('eMail-Versand','Port',25);
    SMTP.Username:=Ini.ReadString('eMail-Versand','Benutzername','');
    SMTP.Password:=Ini.ReadString('eMail-Versand','Passwort','');
    senderName:=Ini.ReadString('eMail-Versand','Name','');
    senderAdresse:=Ini.ReadString('eMail-Versand','Adresse','');
  finally
    Ini.Free;
  end;

  SMTP.MailAgent := 'VPlan Plus';

  with IdMessage do begin
    Recipients.Clear;
    for i:=1 to (VLEEmpfaenger.RowCount-1) do begin
      with Recipients.Add do begin
        Name:=VLEEmpfaenger.Keys[i];
        Address:=VLEEmpfaenger.Values[VLEEmpfaenger.Keys[i]];
      end;
    end;

    From.Address:=senderAdresse;
    From.Name:=senderName;
  end;

  if UseLogin then
   SMTP.AuthenticationType := atLogin
  else
   SMTP.AuthenticationType := atNone;

  IdMessage.Body.Clear;
  IdMessage.Body := AnredeEMail.Lines;
  IdMessage.Subject := EdBetreff.Text;

  TIdAttachment.Create(IdMessage.MessageParts, prgpfad+'\txt_export\heute.txt');
  TIdAttachment.Create(IdMessage.MessageParts, prgpfad+'\txt_export\morgen.txt');

    Try
      SMTP.Connect;
      SMTP.Send(idMessage);
      SMTP.Disconnect;
    Except
      If SMTP.Connected = True Then
      Begin
        Try
          SMTP.Disconnect;
        Except
          MessageDlg('Konnte Verbindung mit '+SMTP.Host+' nicht trennen.', mtError, [mbOK], 0);
        End;
      End;
      MessageDlg('Konnte eMail nicht verschicken.', mtError, [mbOk], 0);
    End;
end;
Der Durchlauf wird an der Stelle SMTP.Disconnect; angehalten. Anbei noch ein Screenshot der Userform!

Svenkan 8. Apr 2009 11:10

Re: SMTP via Indy - RCPT First
 
Problem gelöst!
Hatte nicht bedacht, dass ich die Titelzeile danach rausgenommen und das nicht im Code berücksichtigt habe. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 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