Delphi-PRAXiS
Seite 3 von 4     123 4      

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 22. Feb 2010 12:02

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

Zitat von nahpets
Delphi-Quellcode:
slHTML.Add('<Style type="text/css">Der Inhalt vom Stylesheet kommt hier hin.</style>');

Das ist mir schon klar. Aber dann müsste ich es folgendermaßen machen, was wiederum mein Problem wiedergibt...
Delphi-Quellcode:
slHTML.Add('<Style type="text/css">'+
  '.Stoerung { background-color : #FF0000; }'+
  '.Drucker-Stoerung { background-color : #FFFF00; }'
</style>');
Hat aber halt den Nachteil, das ich Grundsätzlich im Quellcode das Stylesheet anpassen muss.

Gruß Jens

nahpets 22. Feb 2010 12:19

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

mach Dir doch zwei Stringlisten, eine für's HTML eine für die CSS-Datei.

In die HTML-Datei setzt Du Dir 'nen Platzhalter, den Du durch den Text der CSS-Datei ersetzt. Ungefähr so:
Delphi-Quellcode:
slCSS.LaodFromFile('MB.CSS');
slHTML.Add('<head>');
slHTML.Add('<link rel="stylesheet" type="text/css" href="MB.css"');
slHTML.Add('<Style type="text/css"><#CSS></style>');
slHTML.Add('<title>Protokolldatei</title>');
slHTML.Add('</head>');
slHTML.Text := AnsiReplaceText(slHTML.Text,'<#CSS>',slCSS.text);
Du kannst die CSS-Datei getrennt pflegen und nutzen und nur für die Mail wird sie in die HTML-Seite "hineingewuselt".

Jens Hartmann 22. Feb 2010 12:59

Re: Txt-Datei automatisch als E-Mail versenden
 
Das ist richtig,

dann habe ich aber immer noch das Problem mit dem Bild. Wie trage ich das denn als StringList ein. Wenn ich deinen Entwurf nehme, stehen der Inhalt der Stringlist nur am Anfang der HTML-Dokuments.

Muss ich das ganz nicht noch irgendwie mit StringReplaced für #13#10 oder so bearbeiten.

Gruß Jens

nahpets 22. Feb 2010 13:13

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

das Bild bekommst Du nicht in 'ne Stringliste, eventuell geht das als Anhang der Mail, wie der Client damit umgeht, weiß ich nicht.

Das Stylesheet musst du nicht bearbeiten, der Text muss weder als "Einzelzeiler" noch speziell formatiert sein. Das Stylesheet selbst wird nur im HTML-Header benötigt. Im HTML-Dokument wird darauf referenziert, bzw. der Client sucht sich die passenden Layoutdefinitionen.

So sieht es vielleicht etwas schöner aus:
Delphi-Quellcode:
slCSS.LoadFromFile('MB.CSS');
slHTML.Add('<head>');
// kann entfallen slHTML.Add('<link rel="stylesheet" type="text/css" href="MB.css"');
slHTML.Add('<Style type="text/css">');
slHTML.Add('<#CSS>');
slHTML.Add('</style>');
slHTML.Add('<title>Protokolldatei</title>');
slHTML.Add('</head>');
slHTML.Text := AnsiReplaceText(slHTML.Text,'<#CSS>',slCSS.text);
Edit hat Schreibfehler gefunden.

Jens Hartmann 22. Feb 2010 14:31

Re: Txt-Datei automatisch als E-Mail versenden
 
Danke nahpets,

das funktioniert so. Aber das mit dem Kopfbild ist halt ein Problem.

Gruß Jens

Jens Hartmann 22. Feb 2010 20:25

Re: Txt-Datei automatisch als E-Mail versenden
 
Ich habe jetzt das ganze Netz per Google ergoogled und das ohne Erfolg. Naja was heißt ohne Erfolg. Es ist scheinbar so, das es mit den Bildern wirklich nicht so einfach ist.

Ich habe es aber jetzt nach Vorschlägen aus dem Netzt gelößt, ich habe die Bilddatei einfach auf unseren Server(Unsere Hompage) geladen und habe das Bild als Link angelegt. Besteht jetzt einen Internet Verbindung funktioniert es, ansonsten halt nicht.

Ich glaube das es auch im allgemeine so gemacht wird. Man kennt das ja von Outlook, allerdings würde mich mal interesieren, wie dort der Hinweis zum download hinkommt. Und wenn ich dort auf speichern Klicke, sind diese ja immer in der Mail vorhanden.

Wäre nun die Frage, wie man das einbinden kann.

Gruß Jens

BUG 22. Feb 2010 20:32

Re: Txt-Datei automatisch als E-Mail versenden
 
Base64 könnte dir helfen.
Das mit sich selbst per eMail (siehe Link) zuschicken ist aber umständlich, zum Umwandeln kannst du auch die Prozedur aus der Codelib nehmen (Base64Base64).

Jens Hartmann 22. Feb 2010 21:48

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

Zitat von BUG
Base64 könnte dir helfen.
Das mit sich selbst per eMail (siehe Link) zuschicken ist aber umständlich, zum Umwandeln kannst du auch die Prozedur aus der Codelib nehmen ( Base64 ).

Danke, das werde ich morgen aufjedenfall mal noch testen. Wobei mir das mit unserer Website auch schon ganz gut so gefällt.

Gruß Jens

Sir Rufo 22. Feb 2010 22:47

Re: Txt-Datei automatisch als E-Mail versenden
 
Möglichkeit 1: (Bild als Attachment)

Das Bild muss noch zusätzlich mit einer Content-ID versehen werden, dann kannst du innerhalb der HTML-Mail auf dieses Bild zugreifen.

Wie das aussieht, wie man darauf kommt?

Schick dir doch selber mal eine mail (z.B. via Outlook) und schau dir dann die Mail an, wie die aufgebaut ist.

Möglichkeit 2: (Bild im HTML-Code)

Öffne Word, tippe ein wenig Text, packe ein Bild dazu und speicher das ganze als "Webseite, gefiltert (*.htm;*.html)"
Wenn dort genau nur 1 Bild enthalten ist, dann wird dieses Bild in der html-Datei gespeichert.

Jens Hartmann 2. Mär 2010 08:00

Re: Txt-Datei automatisch als E-Mail versenden
 
Danke für die vielen antworten.

Ich habe die Version mit dem Verweis auf die Homepage zur Zeit gewählt. Funktioniert auch echt gut. Auch das mit dem Stylesheet funktioniert ohne Probleme. Allerdings wenn ich die Datei dann aus dem IE Drucken will, wird der Stylesheet beim drucken nicht berücksichtigt.

Kann man das irgendwie realisieren. Ich habe nur eine paar Spaltenfarben im Sheet. Diese werden allerdings auf dem Drucker nicht ausgegeben. :gruebel:

Gruß Jens


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 3 von 4     123 4      

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