Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   E-Mail (https://www.delphipraxis.net/204774-e-mail.html)

oldmann 28. Jun 2020 08:20

E-Mail
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
in einer Memo habe ich formatierten Text den ich über eine E-Mail Routine an mein E-Mailprogramm weiterleite.
Leider wird der Text dann im E-Mailprogramm ohne die entsprechenden Leerzeichen angezeigt. Es ist alles zusammengeschoben. Siehe Bilder.
Ich benutze Tokyo 10.2.2 und als E-Mail Thunderbird.
Gibt es eine Möglichkeit, dass der Text auch im E-Mailprogramm genauso formatiert wie in der Memo angezeigt wird ??
Für Eure Hilfe wäre ich dankbar.

Oldmann

sh17 28. Jun 2020 09:43

AW: E-Mail
 
Ich denke mal das liegt am Standard-Format einer neuen E-Mai in Thunderbird. Die wird auf irgendwas anderes stehen als TEXT, Also HTML oder so. Und da das wahrscheinlich Tabs sind, werden die im HTML zusammengeschoben.
Nur Text bietet diese Option. Das kannst Du aber nicht per MAPI steuern, dass muss im Mailprogramm einstellt werden. HTML per MAPI ist leider auch nicht möglich.

Harry Stahl 28. Jun 2020 23:17

AW: E-Mail
 
Du kannst nicht wissen, welchen Font der Mail-Empfänger für nicht formatierten Text ausgewählt hat (fixe oder variable Breite).

Mit HTML könntest Du es halbwegs sicher hinbekommen, allerdings weißt Du nicht, ob der Mail-Empfänger erlaubt HTML-Text anzeigen zu lassen.

Im Prinzip wäre die richtige Lösung, eine PDF-Datei mitzuschicken, wo es dann eindeutig ist.

Wenn Deine "E-Mail-Routine" eine "Mail-To" Lösung ist, dann ist der Grund warum die Leerzeichen fehlen, dass diese in der "Mailto-Sprechweise" nicht erlaubt sind, Du musst Leerzeichen durch das "%20"-Zeichen ersetzen, das Mailprogramm wandelt das dann entsprechend um. Ähnliches gilt für andere Zeichen. Und wenn Du Tabulatoren verwendest, müsstest Du das entsprechend ersetzen (wird aber evtl. nicht von allen Mail-Clients unterstützt).

himitsu 28. Jun 2020 23:30

AW: E-Mail
 
falls es nicht am erwähnten Mail-To liegt...


Tja, also HTML-Mail zuzüglich TEXT ginge erstmal, falls wer HTML deaktiviert hat, dann könnten dort die Leerzeichen fehlen.

Ich würde es als Dateianhang senden.
Viele Mailprogramme zeigen den Inhalt von txt-Dateien unter der Mail direkt an,
und selbst wenn bei der Anzeige die Formatierung fehlt, dann kann man die Datei immernoch abspeichern und extern öffnen.

Ansonsten kannst du natürlich in den Text auch Spalten einfügen, also z.B. ; oder | und schon hätte man dennoch eine Trennung, auch ohne Leerzeichen.

oldmann 29. Jun 2020 08:44

AW: E-Mail
 
Hallo,

danke erst mal für Eure Hilfe.
Aber vielleicht erklärst du mir mal was ein '%20' Zeichen ist und wie man es verwendet.

Oldmann

TiGü 29. Jun 2020 08:48

AW: E-Mail
 
Zitat:

Zitat von oldmann (Beitrag 1468405)
Hallo,

danke erst mal für Eure Hilfe.
Aber vielleicht erklärst du mir mal was ein '%20' Zeichen ist und wie man es verwendet.

Oldmann

https://de.wikipedia.org/wiki/URL-Encoding

blawen 29. Jun 2020 09:32

AW: E-Mail
 
Hast Du schon probiert, statt der Leerzeichen, Tabs einzusetzen?
Delphi-Quellcode:
'Mein Text' + #9 + ' oder so'

sh17 29. Jun 2020 09:41

AW: E-Mail
 
Zitat:

Zitat von blawen (Beitrag 1468413)
Hast Du schon probiert, statt der Leerzeichen, Tabs einzusetzen?
Delphi-Quellcode:
'Mein Text' + #9 + ' oder so'

Ich denke es werden bereits Tabs sein, sonst wäre der Text nicht so zusammengeschoben

oldmann 29. Jun 2020 09:42

AW: E-Mail
 
Hallo,

OK, '%20' glaube ich begriffen zu haben.
Ich habe so 40 Leerzeichen eingefügt:
for i := 0 to 40 do
L40:=L40+(Chr(32));
Das klappt in Delphi aber nicht in der Email.
Sebst wenn ich den Nachrichtenbereich der E-Mail auf reinen Text einstelle, werden die Leerzeichen nicht angezeigt.

Oldmann

oldmann 29. Jun 2020 09:58

AW: E-Mail
 
Hallo,

Tabs funktionieren auch nicht.

oldmann

sh17 29. Jun 2020 12:43

AW: E-Mail
 
also wenn Du per MAPI zugreifst, ist ein Leerzeichen ein Leerzeichen, da brauchst Du nicht %20 kodieren

himitsu 29. Jun 2020 12:49

AW: E-Mail
 
Wenn der Text für die Anzeige als HTML interpretiert/konvertiert wird, dann werden Leerzeichen/Tabs dort komprimiert, zu "einem" Leerzeichen.
Darum wird hier im Forum, z.B. in QuellTexten, jedes zweite Leerzeichnen durch ein   bzw. #160 (NonBreakingSpace) ersetzt.

Harry Stahl 29. Jun 2020 15:31

AW: E-Mail
 
Zitat:

Zitat von oldmann (Beitrag 1468415)
Hallo,

OK, '%20' glaube ich begriffen zu haben.
Ich habe so 40 Leerzeichen eingefügt:
for i := 0 to 40 do
L40:=L40+(Chr(32));
Das klappt in Delphi aber nicht in der Email.
Sebst wenn ich den Nachrichtenbereich der E-Mail auf reinen Text einstelle, werden die Leerzeichen nicht angezeigt.

Oldmann

Nein, ganz anders. %20 steht für HEX(adezimal) = 32 Dezimal

Du müsstest den Text also z.B. so ersetzen : Text := ReplaceStr (Text, ' ', '%20');

Der Text sieht dann z.B. so aus:

Hallo%20,dies%20ist%20ein%20Test.

dataspider 29. Jun 2020 17:46

AW: E-Mail
 
Aus den Bildern in #1 ist ja ersichtlich, dass er aus Courier (Festbreitenschrift) Proportionalschrift macht.
Da nützen die Leerzeichen auch nichts.

Frank

TurboMagic 29. Jun 2020 20:48

AW: E-Mail
 
Zitat:

Zitat von oldmann (Beitrag 1468415)
Hallo,

OK, '%20' glaube ich begriffen zu haben.
Ich habe so 40 Leerzeichen eingefügt:
for i := 0 to 40 do
L40:=L40+(Chr(32));
Das klappt in Delphi aber nicht in der Email.
Sebst wenn ich den Nachrichtenbereich der E-Mail auf reinen Text einstelle, werden die Leerzeichen nicht angezeigt.

Oldmann

Hallo,

ich fürchte du hast es noch nicht verstanden :-(
An jeder Stelle wo ein Leerzeichen stehen soll muss stattdessen '%20' stehen

Nicht gemeint: L40:=L40+(Chr(32));
Gemeint: L40 := L40 + '%20';

Grüße
TurboMagic

oldmann 8. Jul 2020 12:35

AW: E-Mail
 
Hallo,

leider scheint es hier keine Möglichkeit für mein Problem zu geben.
Ich bedanke mich bei allen die es versucht haben.

Gruß Oldmann

sh17 8. Jul 2020 12:42

AW: E-Mail
 
Ich habs noch nicht probiert, aber hier die Antwort zwei

https://stackoverflow.com/questions/...control-in-vb6

Den Body des Mapi-Aufrufes auf nil setzen und eine HTML-Mail als Anhang übergeben, dann wird die HTML-Seite als Haupttext angezeigt.

Mit mit HTML und einer Tabelle solltest Du das Problem gelöst bekommen.

TurboMagic 8. Jul 2020 20:59

AW: E-Mail
 
Zitat:

Zitat von oldmann (Beitrag 1469096)
Hallo,

leider scheint es hier keine Möglichkeit für mein Problem zu geben.
Ich bedanke mich bei allen die es versucht haben.

Gruß Oldmann

Hast du meinen Vorschlag vom 29.6. ausprobiert?


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