Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [PHP] Board mit Mailzugang
AUTOR BEITRAG
*al!ve* - will code for food

RANG Master of Clanintern

#1 - 02.05 08:26

Tach.


Ich bin zur Zeit auf der Suche nach einem Nachrichtenforum, Struktur linear, nicht baumartig. Gibts wie Sand am Meer, ist klar.

Ich hab momentan ein WBBlite im Einsatz, seit längerer Zeit, tut gut seinen Dienst.

Patch vor einem halben Jahr meinerseits: Bei neuen Einträgen oder Threads werden Abonnenten nun nicht nur mit "da hat sich was geändert" informiert sondern bekommen die komplette Nachricht per E-Mail.

Auswirkung: Dank O2 Mail-To-MMS für 5€ monatlich werd ich über Nachrichten informiert, woimmer ich gerade bin.

Nachdem das Ding zur Planung von Freizeitaktivitäten ist, es sich also um Kinoplanung oder anderweitige Treffen handelt, ist mir das durchaus Recht, vereinfacht die Kommunikation zwischen x Menschen ziemlich.


Neue Anforderung: Ich will auch per E-Mail auf einen Eintrag antworten können, ich such also ein Board, dem ich auch per E-Mail nachrichten zuschieben kann.

Gründe:
Erstens kann ich so auch unterwegs antworten, was grade bei einer kurzfristigen "ich will heute ins Kino, wer will mit" Nachricht cool wäre.
Zweitens hab ich meinen E-Mail-Client meist schon offen, und wenn ich grad dabei bin, 10 Leuten Antwortmails zu schreiben kommt es schon ab und an vor, dass ich einen Forumseintrag per E-Mail beantworte, weil ich schlicht den Unterschied zwischen E-Mails und Forumsbenachrichtigungen übersehe. In solchen Fällen bekomm ich dann vom Mailerdaemon ne Antwort und kopier meine E-Mail rüber.

Ich könnte sowas natürlich selber programmieren. Wäre allerdings recht aufwendig. Deshalb such ich sowas schon fertig.


Nachdem ich momentan keinen Rootzugriff auf den Server habe, auf dem das Board läuft, wäre das als externes Tool cool.


Gedanke: Mail2Board-Bridge auf externem Server.

Nachrichten werden an alle Empfänger verschickt, irgend wo in der Nachricht wird ein Unique Key versteckt, der vom antwortenden in seiner Antwort mit verschickt werden muss. Entweder im Mailbody oder mittels verändertem Absender anstatt forumsmailer@meinedomain einfach uniqueid+forumsmailer@meinedomain als Forumsabsender verwenden. Ist mir wurscht.

Der Unique Key kommt in eine Datenbank, dazu wird gespeichert, zu welchem Thread der Key gehört und wer den Key bekommen hat.

Cronjob ruft alle x Minuten Mails ab auf die Server-Mailadresse gerichtet sind, entsprechend eingegangene Mails werden analysiert.

Für jede der Mails wird geprüft, ob der Unique Key in einer Datenbank liegt.

Wenn ja: Eintrag in der Datenbank des Forums erstellen.


Nachdem die Datenbank des Forums glaub nur per localhost verfügbar ist, sollte das Forum deshalb eine entsprechende HTTP-Schnittstelle (ähnlich einem RPC-Sockel) bieten.


Gibts sowas schon? Wenn nein, welches Board wäre hierfür "leicht zugänglich", sprich die Struktur welches Boards ist so einfach, dass ich mit wenig Aufwand sowas selber realisieren kann?


Weiteres Kriterium wäre, dass ich dafür natürlich kein Geld zahlen will, es handelt sich immerhin um ein nice-to-have.
vaest´ark // patrick *circle of confusion*

RANG Master of Clanintern

#2 - 02.05 08:41

die mails per php über pop3 abrufen ist nicht weiter aufwändig. den text dann in eine db-tabelle schreiben auch nicht. der einfachheit halber würd ich beide aufgaben sogar in dem selben script erledigen.

die thread-id brauchste nicht extra nochmal irgendwo ablegen, die existiert bereits und lässt sich leicht verwenden. könnte man in den betreff einbauen, beispielsweise: "kino am 00.00.0000, tid 12345".
die antworten auf diese mail gehen dann in den thread mit der id 12345. kleine regexp dazu um die id rauszufischen, fertig.
ohne tid gibts eine fehlermeldung, mit tid 0 könnte man einen neuen thread eröffnen und als antwort entsprechend "$neuer_thread, tid 23456" senden.

zwecks sicherheit würd ich nur mails speichern, die von einer mail-adresse aus der usertabelle kommen. darüber lässt sich dann auch die zuordnung zum benutzernamen herstellen.
*al!ve* - will code for food

RANG Master of Clanintern

#3 - 02.05 11:02

Ich dachte eher an folgenden Aufbau:


Benachrichtigungsmail:
- Absender: UniqueKey@forumseigene.subdomain
- Betreff: Threadtitel
- Inhalt: Threadinhalt

Jede Benachrichtigung die vom Forum ausgeht bekommt einen eigenen UniqueKey, wenn ein Thread fünf Abonnenten hat, geht fünf mal die gleiche Mail mit je einem eigenen UniqueKey raus.

Die UniqueKeys merk ich mir in einer Tabelle, in die ich mir speichere, welcher Benutzer diesen Key n welchem Thread bekommen hat.

Der Daemon ruft die POP-Box ab, friemelt die Mail auseinander, liest aus der Empfängeradresse den UniqueKey raus, ermittelt Zielthread (ThreadID) und Absenderdaten (BenutzerID) und erstellt einen Eintrag im entsprechenden Thread.

Neue Threads per Mail erstellen ist nicht unbedingt nötig, dazu müsste der Benutzer nämlich auch übermitteln können, in welchem Subforum der Thread jetzt erstellt wird.

Authentifizierung geht indirekt, indem die Forums-Absende-E-Mailadresse eindeutig ist. So wirklich sicher ist das nicht, aber eine sicherere Möglichkeit seh ich momentan nicht. In Bezug auf die Fälschungssicherheit einer E-Mail-Adresse brauchen wir nicht diskutieren und mehr Sicherheit würde bedeuten, dem Benutzer mehr Aufwand abzuverlangen.
vaest´ark // patrick *circle of confusion*

RANG Master of Clanintern

#4 - 02.05 12:14

ach, dafür willst du die keys benutzen. eigentlich keine schlechte idee, aber was wenn da ein benutzer antworten will, der den thread nicht aboniert hat?

meine lösung würd halt ohne veränderung der tabellenstruktur funktionieren.
klaustopher *3 tage wach*

RANG Deckschrubber

#5 - 02.05 13:15

--> www.mail2forum.com/forums/index.php ... Hab ich mal für unsere Fachschaft so aufgesetzt, lief da recht zuverlässig..