Autor Beitrag
Olli_Sahr
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 83


D5 Prof, D7 Architect
BeitragVerfasst: So 12.02.06 18:19 
Hallo,

ich habe in meinem Formualr drei Eingabefelder (Kundendaten).

In dem ersten steht eine Anrede (z.B. "Sehr geehrter Herr Max Mustermann").
In dem zweiten steht die Emailadresse (z.B. Max@Mustermann.de)
In dem dritten steht die URL (www.mustermann.de)

Ich habe hinter dem URL-Feld und hinter dem Feld mit der Emailadresse je einen Button.

Klicke ich auf den Button hinter der URL, üffne ich die URL:
ausblenden Delphi-Quelltext
1:
ShellExecute(Handle, 'open', PChar('http://www.mustermann.de/'), '', '', SW_NORMAL);					

Klicke ich auf den Button hinter der Emailadresse, rufe ich folgenden Link auf:
ausblenden Delphi-Quelltext
1:
ShellExecute(Handle, 'open',PChar('mailto:Max Mustermann (max@mustermann.de)?body=Sehr%20geehrter%20Herr%20Mustermann'), '', '',SW_NORMAL);					


Im Eingafefeld "Anrede" steht "Sehr geehrter Herr Max Mustermann"), die muss ich noch formattieren (also das Leerzeichen durch %20 ersetzen).

Gibt es dafür eine Funktion, die das macht?
Ich meine nicht einen StringReplace, das ist denke ich zu einfach.
Ich meine eine Funktion, die auch die Sonderzeichen, wie Ä und ß ersetzt, so dass sie URL konform sind.


Danke für Eure Hilfe.

Gruß

OLLI


Zuletzt bearbeitet von Olli_Sahr am Fr 17.02.06 15:12, insgesamt 1-mal bearbeitet
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: So 12.02.06 18:59 
Ich hab mal eine solche Funktion geschrieben... kA, ob ich die noch irgendwo finde... ansonsten einfach alles, was <> 'A'..'Z', 'a'..'z', '0'..'9' ist durch %XY ersetzen (wobei XY hier der hexadezimale Wert von Ord(Zeichen) ist

AXMD
Olli_Sahr Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 83


D5 Prof, D7 Architect
BeitragVerfasst: Mo 13.02.06 17:42 
Danke, das werde ich mal ausprobieren......

Aber ein Problem habe ich noch:

Ich will ein Formular einbauen, in dem der Anwender einen Newsletter an seine Kunden schicken kann.
Das mit dem Ampfänger, Betreff und Body ist kein Problem (die Daten in einem Formular einzugeben und die in der Email vorzubelegen).

Aber was ich noch brauche sind Dateianlagen.
Ich will den user in einer Delphi Anwendung Dateianlagen auswählen lassen und diese dann an die Email hinhängen.
Wenn der User einen Newsletter verfasst hat, den Betreff (Subject) und den Body eingegeben hat und eine Datei ausgewählt hat, dann soll er auf einen Button klicken und es soll eine neue Mail aufgehen, die die Daten enthält (inklusive dem Dateianhang).

Da der Newsletter an mehrere Leute geht, wäre es doof, wenn der DefaultMailClient die Emails alle erzeugt (so wie bei meinem Beispiel in meinem ersten Posting) aber nicht absendet.
Bei 1500 bis 2000 Kunden würden 1500 bis 2000 neue Emails aufgemacht werden (da jeder Kunde mit der individuellen Anrede angesprochen werden soll), diese 1500 bis 2000 Fenster würden aber offen bleiben.
Wie kann man erreichen, dass die Mails gleich gesendet werden (in Postausgang abgelegt werden)?
1500 bis 2000 Fenster manuell auf "Senden" klicken ist doof.

Kann man die Mails gleich direkt über Delphi versenden?

Es wäre umständlich die Daten in ein PHP Formular einzugeben (Anrede und Empfänger separat) oder die Newsletter-Daten (Anredeformen, Kundendaten) in zwei Quellen (Dekphi-Anwendung und PHP Datenbank am Server) zu pflegen.
Das führende System soll die Delphi Anwendung sein.

Wer kann mir da weiterhelfen?
Wer hat eine Idee für mein Problem?

Gruß


OLLI