Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SQL-Abfrage per EMail verschicken (https://www.delphipraxis.net/93815-sql-abfrage-per-email-verschicken.html)

AndiS75 14. Jun 2007 15:02

Re: SQL-Abfrage per EMail verschicken
 
HuHu :-D

Jelly 15. Jun 2007 06:49

Re: SQL-Abfrage per EMail verschicken
 
Ich könnte zurückrufen :angel2:
Hast Du meine Demo denn getestet?

AndiS75 15. Jun 2007 14:26

Re: SQL-Abfrage per EMail verschicken
 
Hab dein Demo getestet. Aber ich bekomme da eine Fehlermeldung. Irgendwas mit Host nicht erreichbar(natürlich hab ich die daten meinen providers benutzt). Hab dann bischen rumgestöbert und mir den Code zusammen gesucht.
Aber irgendwie funzt das auch nicht. :?

Jelly 16. Jun 2007 09:15

Re: SQL-Abfrage per EMail verschicken
 
Was hast du denn als Host und Port eingetragen. Auch die Art der Authentifizierung am SMTP Server kann eine Rolle spielen.

AndiS75 20. Jun 2007 21:38

Re: SQL-Abfrage per EMail verschicken
 
Host --> Mein Host und Auth--> atDefault. Nutze Delphi2007. Wenn ich folgen Code als Auth nutze bringt er mir die Fehlermeldung
--> Undefinierter Bezeichner "AuthenticationType"

Delphi-Quellcode:
  case SmtpAuth of
    0: SMTP.AuthenticationType := atNone;
    1: SMTP.AuthenticationType := atLogin; {Simple Login}
  end;
also muss ich folgenden Code verwenden

Delphi-Quellcode:
  case SMTPAuth of
    0 : SMTP.AuthType := atNone;
    1 : SMTP.AuthType := atDefault;
  end;
Hier bringt er mir die Fehlermeldung --> ... ist eine Exeption der Klasse EIdSMTPReplyError mit der Meldung '' aufgetreten. Also
keine Ahnung :-D

Delphi-Quellcode:


procedure TFrmMailMain.AusWertSend(An, Nachricht, vonMail, Betreff, Priority, CT, SMTPServer, SMTPUsername, SMTPPass: String;
                                   SMTPAuth, SMTPPort : integer);
var
  IdMsgSend: TidMessage;
  SMTP: TidSmtp;
  POP: TidPop3;
  i: integer;
begin

  IdMsgSend := TidMessage.Create(nil);
  SMTP := TidSmtp.Create(nil);
  POP := TidPop3.create(nil);
  IdMsgSend.Clear;


  // Plain Text
  with TIdText.Create(IdMsgSend.MessageParts, nil) do
  begin
    ContentType := 'text/plain';
    Body.Text := Nachricht;
  end;

  // HTML Part
  with TIdText.Create(IdMsgSend.MessageParts, nil) do
  begin
    ContentType := 'text/html';
    Body.Text := 'Dateien\MailVorlage.html';
  end;

  with IdMsgSend do
  begin
    ContentType := CT;
    From.Text := vonMail;
    ReplyTo.EMailAddresses := vonMail;
    Subject := Betreff;
    Priority := Priority;
    BccList.EMailAddresses := An;
    ReceiptRecipient.Text := '';
  end;

  IdMsgSend.ContentType := CT;

  case SMTPAuth of
    0 : SMTP.AuthType := atNone;
    1 : SMTP.AuthType := atDefault;
  end;

  {case SmtpAuthType of
    0: SMTP.AuthenticationType := atNone; //Normal
    1: SMTP.AuthenticationType := atLogin; //SMTPAuth
    2: begin //AfterPop
         SMTP.AuthenticationType := atNone;
         POP.Host := POPServer;
         POP.Username := POPUser;
         POP.Password := POPPass;
         POP.Port := POPPort;
         POP.Connect(5);
         POP.Disconnect;
       end;
    3: begin //afterPop+SMTPAuth
         SMTP.AuthenticationType := atLogin;
         POP.Host := POPServer;
         POP.Username := POPUser;
         POP.Password := POPPass;
         POP.Port := POPPort;
         POP.Connect(5);
         POP.Disconnect;
       end;
  end; }

  SMTPUsername := SMTPUsername;
  SMTP.Password := SMTPPass;
  SMTP.Host := SMTPServer;
  SMTP.Port := SMTPPort;

  SMTP.Connect;

  MemoLog.Lines.Add(IntToStr(IdMsgSend.MessageParts.Count));

  try
    SMTP.Send(IdMsgSend);
  finally
    SMTP.Disconnect;
  end;
  IdMsgSend.free;
  SMTP.free;

end;

Jelly 20. Jun 2007 21:42

Re: SQL-Abfrage per EMail verschicken
 
AuthType sollte erst mal auf atNone stehen.
Es handelt sich da aber wohl wirklich um eine SMTP Einstellung, und hat nix mit meinen Komponenten zu tun.

AndiS75 20. Jun 2007 22:12

Re: SQL-Abfrage per EMail verschicken
 
hab jetzt mal debugged. die Fehlermeldung kommt nur wenn SMTP.Send ausgeführt wird.

ist eine Exeption der Klasse EIdSMTPReplyError mit der Meldung '' aufgetreten. Was hat denn das blank zu bedeuten?

Delphi-Quellcode:
    SMTP.Connect;
    if SMTP.Connected then
      SMTP.Send(IdMsgSend);

Jelly 21. Jun 2007 10:05

Re: SQL-Abfrage per EMail verschicken
 
Es liegt also definitiv an deinem SMTP Server.
Musst du dich vorher eventuell per POP3 identifizieren bevor du Mails schicken kannst. Das machen viele Provider so, damit nicht jeder über ihren SMTP Server verschicken kann. Lade doch mal mit deinem Mailprogramm erst die Mails runter, und versuche anschliessend innerhalb kurzer Zeit das Senden über Indy.

AndiS75 21. Jun 2007 10:53

Re: SQL-Abfrage per EMail verschicken
 
Danke Dir werde es mal so probieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.
Seite 2 von 2     12   

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