PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spam Schutz



Nycoon
22-09-2005, 14:03
Hi@All,

mein vorhaben: Ich hätte gerne einen Spamschutz. Und zwar sollte er wie folgt ablaufen:

- Jemand schickt eine Mail und Mail bleibt im pop
- Bekommt eine automatische Antwort mit einem Link
- In diesem Link muss ein ein Code einegeben und bestätigen
- Mail wird durchgelassen

Man hatte mir gesagt dass man dies auch mit PHP lösen könnte. Hat jemand eine Ahnung evtl wie?

Gruss Nycoon

Eekhoorn
22-09-2005, 14:28
Wieviel Ahnung hast du denn von PHP? Weil mit Anfängerwissen ist das ned so leicht zu machen.
Was steht dir zur Verfügung (eigener Server oder nur ne Mailbox)?

Nycoon
22-09-2005, 15:25
Hi Eekhoorn,

Ahnung von PHP Selber ist schon vorhande. Doch die Infos die ich bisher habe sagen mir dass ich es mit Klassen regeln muss.

Es stehen eigene Server zur Verfügung.

Gruss Nycoon

Eekhoorn
22-09-2005, 18:34
Bei einem eigenen Server (Linux) ist es zu empfehlen, dass du dir mal das RFC zum SMTP-Protokol durchliest.

Dann kann man ganz einfach mit PHP einen SMTP-Server schreiben, der diese Funktionen hat.


Dazu mal folgende Tipps:

Ich würde das ganze 3-teilen:

a)
Schreibe den PHP-SMTP-Server so, dass eingehendes über den Stream STDIN angenommen wird und ausgehendes über den Stream STDOUT geht. Ist viel einfacher als mit Sockets zu arbeiten.
Der Server nimmt nach den SMTP-Regeln die Mails an, macht die genannten Aktionen (Mail mit bestätigungslink, ...) und speichert die unbestätigten Mails in einer Datenbank oder nem Verzeichnis zwischen.
Diesen Server setzt du dann mit Hilfe von xinetd ein. Xinetd kümmert sich darum, dass der Server an einen Port gebunden wird und Socketinformationen per STDIN und STDOUT kommen und gehen.

b)
Schreibe ein PHP-Webskript (für den Bestätigungslink) das in der Datenbank vermerkt, dass der Absender den Versand der Mail bestätigt hat.

c)
Schreibe ein PHP-Skript, dass per Cron-Dämon jede Minute ausgeführt wird. Dieses schaut nach, ob neue bestätigte Mails vorhanden sind und schmeißt diese in das Standartmailverzeichnis /var/mail (die Dateien darin heißen so, wie der POP-User). Dies geschieht so: Die Mail wird einfach genau in dem Zustand wie sie ist (mit Header, usw) an die Maildatei des POP-Users angehängt. Danach löscht dieses Skript die Mail aus der Warteschlange der zu bestötigenden Mails.



Andere Möglichkeit:

Manche SMTP-Server bieten Einstellungsoptionen an, mit denen du über eingehende Mails Skripte laufen lassen kannst. Dazu hab ich mir jetzt aber keinen Lösungsweg überlegt.

Nycoon
23-09-2005, 10:57
Hui,

dank dir. Werd es so einmal versuchen :)

Gruss Rene