Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Txt-Datei automatisch als E-Mail versenden (https://www.delphipraxis.net/131905-txt-datei-automatisch-als-e-mail-versenden.html)

Jens Hartmann 2. Apr 2009 13:27

Re: Txt-Datei automatisch als E-Mail versenden
 
Delphi-Quellcode:
TidAttachment.Create(mesgMessage.MessageParts,'.\29.03.2009.txt');
von der Sache her muss es das sein, das habe ich auch schon in vielen Varianten probiert. Auch über die Delphi Hilfe komm ich irgendwie nicht weiter.

egal, ob ich den File direkt angebe, oder über eine Var., Delphi schreibt mir immer zu viele Parameter

Gruß Jens

nahpets 2. Apr 2009 14:27

Re: Txt-Datei automatisch als E-Mail versenden
 
Hallo,

welche Versionen von Delphi und den Komponenten hast Du?

Wie sieht der Hinweis von CodeInsight aus?

Meine mich schwach daran erinnern zu können, dass sich da mal was geändert hat.

Jens Hartmann 2. Apr 2009 14:32

Re: Txt-Datei automatisch als E-Mail versenden
 
Ja, so irgendwas habe ich auch gelesen. Das Funktioniert wohl nur mit Indy 9.

Ich benutze Delphi 2007 (CodeGear RAD Studio) und da war Indy 10.1.1 enthalten. Allerdings, finde ich da keinen richtigen Hinweis für die Anwendung in der Hilfe.

Aber irgendwas muss da anders sein, weil die Möglichkeit die du mir aufgezeigt hast, habe ich Hundert-Fach hier im Forum gefunden, allerdings mehrmals mit dem Hinweis auf Indy 9

Gruß Jens

nahpets 2. Apr 2009 15:05

Re: Txt-Datei automatisch als E-Mail versenden
 
Hallo,

schau mal bitte hier: TIdAttachmentFile.html

Bitte geduldig warten, es dauert eine Weile, bis die Seite angezeigt wird, auch wenn es vorher den Eindruck erweckt, die Seite wäre schon geladen.

Jens Hartmann 2. Apr 2009 16:19

Re: Txt-Datei automatisch als E-Mail versenden
 
Meinst du das hier, wenn ja glaube ich versteh ich es noch nicht richtig...

Delphi-Quellcode:
    constructor Create(Collection: TIdMessageParts;
    const AFileName: String = '';
    reintroduce;

Jens Hartmann 2. Apr 2009 19:22

Re: Txt-Datei automatisch als E-Mail versenden
 
Hallo zusammen,

So ich habe die Lösung geknackt. Also mit der Indy 10.1.1 wird das ein bißchen anders gemacht. Wenn es jemand interessiert, hier die funktionierende Lösung. Wenn noch jemand Verbesserungsvorschläge hat, nehme ich die gerne an.

Delphi-Quellcode:
procedure TMailSendenForm.butnSendMailClick(Sender: TObject);
var
  FileName : String;
  FileData : TIdAttachmentFile;
begin
  FileName := FileEdit.Text;
  butnSendMail.Enabled := False; try
    with mesgMessage do begin
      Clear;
      From.Text := FromMailEdit.Text;     // von welchem account aus
      Recipients.Add.Text := AddMailEdit.Text; // an welche addi
      Subject := 'Datensatz vom '+ DateToStr(Now); // betreff
      Body.Assign(MemoVortext.Lines);          // die nachricht aus dem memo
      if FileExists(FileName) then
      begin
        FileData := TIdAttachmentFile.Create(MessageParts, FileName);
      end                                          //Body.LoadFromFile('.\29.03.2009.txt');
    end;
    with smtpSendMail do begin
      smtpSendMail.Username := FromMailEdit.Text;
      smtpSendMail.Password := PasswortEdit.Text;
      Host := SMTPEdit.Text;               //smtp-server hier web
      Connect; try
        Send(mesgMessage);
      finally Disconnect; end;
    end;
    showmessage('Mail wurde erfolgreich an [email]jens.hartmann@hu-gmbh.de[/email] gesendet');
  finally butnSendMail.Enabled := True; end;
end;
Besten Dank trotzdem für die Hilfe.

Gruß Jens

Jens Hartmann 21. Feb 2010 17:41

Re: Txt-Datei automatisch als E-Mail versenden
 
Hallo zusammen,

ich habe zur Zeit nochmal ein älteres Thema von mir zur Bearbeitung. Ich habe in die oben gezeigte E-Mail Funktion die Anhänge erweitert, da ich eine HTML-Dokument als Anhang versende, und die CSS Datei und das Kopf Bild mit versenden will.

Delphi-Quellcode:
  Attachment.Add(FileName);//HTML-Dokument welches folgende Dateien benötigt
Attachment.Add('C:\Users\jens.hartmann\Documents\Kopf1.bmp');
Attachment.Add('C:\Users\jens.hartmann\Documents\mb.css');
Das funktioniert auch alles super gut. Allerdings muss ich in meinem E-Mail Programm immer erst die beiden Dateien einmal öffnen, damit Sie in den entsprechenden Temp Ordner von Outlook geschrieben werden, um mein Stylesheet in dem HTML Dokument auch zu sehen.

Wie kann man diese Dateien so in die E-Mail integrieren, das nur das HTML-Dokument geöffnet werden muss. :gruebel:

Gruß Jens

implementation 21. Feb 2010 18:37

Re: Txt-Datei automatisch als E-Mail versenden
 
Ich würde sagen, du integrierst das Stylesheet gleich in das HTML-Dokument:
XML-Code:
<style type="text/css">
  ...
</style>

Jens Hartmann 22. Feb 2010 09:19

Re: Txt-Datei automatisch als E-Mail versenden
 
Zitat:

Zitat von implementation
Ich würde sagen, du integrierst das Stylesheet gleich in das HTML-Dokument:

Habe ich ja, allerdings muss ich das Stylesheet ja im selben Ordner wie das html zur Verfügung stellen. Will ich den Style jetzt komplett integrieren, könnte ich das zwar, müsste aber beim ändern im eine neue Version erstellen.
Delphi-Quellcode:
slHTML.Add('<head>');
slHTML.Add('<link rel="stylesheet" type="text/css" href="MB.css"');
slHTML.Add('<Style type="text/css"></style>');
slHTML.Add('<title>Protokolldatei</title>');
slHTML.Add('</head>');
:gruebel: Oder ist das wie oben falsch ? :gruebel:

Gruß Jens

nahpets 22. Feb 2010 11:49

Re: Txt-Datei automatisch als E-Mail versenden
 
Hallo,
Zitat:

Zitat von Jens Hartmann
Zitat:

Zitat von implementation
Ich würde sagen, du integrierst das Stylesheet gleich in das HTML-Dokument:

Habe ich ja, allerdings muss ich das Stylesheet ja im selben Ordner wie das html zur Verfügung stellen. Will ich den Style jetzt komplett integrieren, könnte ich das zwar, müsste aber beim ändern im eine neue Version erstellen.
Delphi-Quellcode:
slHTML.Add('<head>');
slHTML.Add('<link rel="stylesheet" type="text/css" href="MB.css"');
slHTML.Add('<Style type="text/css"></style>');
slHTML.Add('<title>Protokolldatei</title>');
slHTML.Add('</head>');
:gruebel: Oder ist das wie oben falsch ? :gruebel:

Gruß Jens

gemeint ist:
Delphi-Quellcode:
slHTML.Add('<head>');
slHTML.Add('<link rel="stylesheet" type="text/css" href="MB.css"');
slHTML.Add('<Style type="text/css">Der Inhalt vom Stylesheet kommt hier hin.</style>');
slHTML.Add('<title>Protokolldatei</title>');
slHTML.Add('</head>');


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 2 von 4     12 34      

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