Hi Frank,
Wenn nun ein Problem auftritt, soll der Benutzer die E-Mail an meine E-Mailadresse weiterleiten und ich kann anhand des Headers überprüfen, ob diese E-Mail wirklich von meinem Server verschickt wurde.
Ich weiß nicht, was du genau mit deiner Arbeit vor hast, möchte aber trotzdem mal etwas an dem Konzept zweifeln ;-) Vermutlich willst du nachweisen können, ob eine E-Mail von dir, oder eben nicht von dir versandt worden ist.
Nun denn, deinen "unique identifier" musst du ja irgendwie erst mal erzeugen, dafür kommen folgende Möglichkeiten in Betracht:
a) Du berechnest den Identifier auf irgendeine Weise (z.B. md5()-Hash) von irgendwelchen Daten (z.B. von der Verkettung von Absender, Empfänger und Uhrzeit).
Vorteil: Aus den gegebenen Daten lässt sich einfach erneut der Hash berechnen und mit dem gegebenen Identifier vergleichen.
Nachteil: Sobald ich deinen Algorithmus zur Errechnung des Identifiers geknackt habe, kann ich E-Mails verschicken, die angeblich von dir sind und einen korrekten Identifier haben.
b) Du erzeugst eine zufällige Zeichenkette, welche du als Identifier nutzt und speicherst diese auf deinem Server z.B. in einer Datenbank ab.
Vorteil: Davon ausgehend, dass deine Datenbank sicher geschützt ist, kann man dieses System nur schlecht hacken. Wenn du in der DB mit dem Identifier noch Empfänger und Uhrzeit abspeicherst, kann ich auch mit einem geklauten Identifier als Angreifer nicht viel anfangen, weil eben genau dieser geklaute Identifier nur für den in der DB hinterlegten Empfänger zu der ebenfalls hinterlegten Uhrzeit gültig ist.
Nachteil: Du kriegst mitunter einen recht großen Datenbestand in deiner Datenbank, was zur Verlangsamung des Systems führen kann, wenn die Daten irgendwann zu viel werden.
Wenn du also zuverlässig und ohne Datenlast auf deinem Server herausfinden willst, ob Mails wirklich von dir geschrieben bzw. verschickt worden sind, so solltest du alle ausgehenden Mails digital signieren. Als Alternative zum teuren PGP bietet sich hier GPG an. Stellst du hierbei dein öffentliches Zertifikat der Öffentlichkeit zur Ansicht bzw. zum Download bereit, so kann der Empfänger hiermit auch selber prüfen, ob die Mail wirklich von dir verschickt (d.h. signiert) wurde.
Viele Grüße,
~ Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Weblog: Comboboxen mit Javascript - [apr_dbd_mysql unter Debian - so geht es doch \Update]