Eric: eMails mit mail() verschlüsseln

Hallo,

ich biete auf meiner Seite ein Kontaktformular für meine Besucher an, welches dann anschließend mit mail() gesendet wird.

Der Text wird dann also frei lesbar über das WWW gesendet.

Kann mann das irgendwie so verschlüsseln, dass es (kaum) jemand - zumindest nicht ohne weiteres - lesen kann. Nur der Empfänger kann es dann lesen ...

MFG. Eric

  1. Hallo Eric,

    ich biete auf meiner Seite ein Kontaktformular für meine Besucher an, welches dann anschließend mit mail() gesendet wird.

    Der Text wird dann also frei lesbar über das WWW gesendet.

    Kann mann das irgendwie so verschlüsseln, dass es (kaum) jemand - zumindest nicht ohne weiteres - lesen kann. Nur der Empfänger kann es dann lesen ...

    Du musst zwei Kommunikationswege unterscheiden, die standardmäßig beide Unverschlüsselt ablaufen. Zum einen gibt es den Weg von Deinem Besucher zu Deinem Webserver. Dort wird das HTTP-Protokoll eingesetzt. Wenn Du diesen Weg verschlüsseln willst, brauchst Du SSL. In der Regel muss Dein Provider Dir das bieten und Du brauchst außerdem noch ein Zertifikat, das Du bspw. bei Thawte für $100 - $200 bekommst. Falls Dir das zu teuer ist und Du ein eigenes Zertifikat erstellst, löst Du halt eine Warnmeldung bei Deinen Besuchern aus. Du kannst in die HTTP-Kommunikation vom Browser zum Server nicht über PHP eingreifen.

    Der andere Kommunikationsweg ist von Deinem Webserver zu Deinem Emailpostfach. Du hast zu dem Zeitpunkt die Mail schon mit PHP bekommen und kannst diese dann auch prinzipiell Verschlüsseln. Zur Verschlüsselung gibt es 3 Möglichkeiten: 1) OpenPGP, 2) S/MIME oder 3) etwas selbstprogrammiertes. OpenPGP und S/MIME sind etablierte Standards für die Verschlüsselte Mailübertragung. In beiden Fällen wirst Du wahrscheinlich externe Tools brauchen, um die Verschlüsselung zu bewerkstelligen, PHP bietet da keine vorgefertigten Funktionen. OpenPGP und S/MIME haben den Vorteil, dass gängige Mailprogramme diese Standards unterstützen bzw. Plugins nachgerüstet werden können. Du kannst natürlich auch etwas eigenes in PHP programmieren, die mcrypt-Funktionen helfen Dir dabei - allerdings wirst Du das Ergebnis der Mail dann auch wieder von Hand entschlüsseln dürfen. Falls Du die Email verschlüsseln willst, dann würde ich Dir zu OpenPGP raten. Du kannst GnuPG verwenden, das ist ein OpenSource-Programm, das den OpenPGP-Standard umsetzt. Dieses Programm kannst Du von PHP aus aufrufen und zum Verschlüsseln einsetzen. Eine vorgefertigte Lösung, die GPG nutzt, kenne ich leider nicht.

    Viele Grüße,
    Christian

  2. Hallo, Eric

    ich biete auf meiner Seite ein Kontaktformular für meine Besucher an, welches dann anschließend mit mail() gesendet wird.

    Verschlüsseln kann mann, aber wie bekommt der Empfänger den Signatur ?
    OpenPGP E-Mail-Server ist das einziege was ich kenne.

    Gruß Jan