Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi NNSMTP in D7 ersetzen (https://www.delphipraxis.net/2738-nnsmtp-d7-ersetzen.html)

gfaw 4. Feb 2003 22:10


NNSMTP in D7 ersetzen
 
Hi,

mal wieder ein Problem dank Umstellung von D6 nach D7 : NNSMTP wird nicht mehr unterstützt. Ich habe nun entdeckt, daß man INDY nehmen sollte. Kann jemand ein Beispiel liefern, wie man eine Datenbank als Mailanhang an eine Mail-Adresse schickt ? Dazu sollte man gerade mal einen Button klicken....


Ciao

Alf

sakura 5. Feb 2003 08:27

Das ist ein fast ungekürzter Ausschnitt aus dem Email-Sender unserer Software. Der macht noch ein bissle mehr, aber das wichtigste solltest Du an dieser Stelle erkennen. Bedenke, dass Email-Attachments nicht zu groß werden sollten.
Delphi-Quellcode:
function TForm1.Send;
var
  I: Integer;
  St, Host, TempFile: AnsiString;
  SMTP: TIdSMTP;
begin
  SMTP := TIdSMTP.Create(nil);
  try
    for I := 0 to Pred(FAttachments.Count) do
      if FileExists(FAttachments.Items[I]) then
        with TIdAttachment.Create(FMsg.MessageParts, FAttachments.Items[I]) do
          ContentType := ''; { DONE : determine content type }
    for I := 0 to Pred(FTo.Count) do
      FMsg.Recipients.Add.Address := FTo[I];
    for I := 0 to Pred(FCC.Count) do
      FMsg.CCList.Add.Address := FCC[I];
    for I := 0 to Pred(FBCC.Count) do
      FMsg.BccList.Add.Address := FBCC[I];
    { TODO : 1
      function TIdMessage.GenerateHeader: TIdHeaderList;
               BCC Empfänger in Unit IDMessage müssen angegeben werden
               nach Indy Update
    }
    FMsg.ContentType := FContentType;
    FMsg.From.Address := FFromEMail;
    FMsg.From.Name := FFromName;
    FMsg.Subject := FSubject;
    if FMsg.MessageParts.TextPartCount = 0 then
      FMsg.SetBody((FText as IASPStringListInt).GetStringList)
    else
      with TIdText.Create(
        FMsg.MessageParts, (FText as IASPStringListInt).GetStringList
      ) do
        ContentType := FContentType;

    SMTP.Host := 'mail.yourhost.com';
    SMTP.Port := 25;
    SMTP.Connect;
    try
      SMTP.Send(FMsg);
    finally
      SMTP.Disconnect;
    end;
  finally
    SMTP.Free;
  end;
end;
...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz