ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Code Hack Requests / Threads per Email eröffnen?


Seite 1 von 1

MichaelD schrieb am 05.08.2003 um 18:08 Uhr

hi leute,

wie wäre es mit einem hack, der es erlaubt, threads per email zu eröffnen? sollte ja nicht so schwer sein, allerdings darf man nicht vergessen, sicherungsmassnahmen einzubauen. (flooding!)

grüsse

michael

MichaelD schrieb am 05.08.2003 um 18:09 Uhr

evtl. mit möglichkeit, dass nur registrierte user solche emailthreads eröffnen dürden :)

theDon schrieb am 05.08.2003 um 20:32 Uhr

und wie will man vom board aus an die emails drankommen? das ist ein webserver, kein mailserver.

bdominik schrieb am 05.08.2003 um 20:53 Uhr

Das ist extrem schwer wenn man Admin-Zugriff auf den Server hat (SSH) und unmöglich wenn man keinen hat.

Ich habe mich mal daran versucht und bin jetzt soweit, das die Admins per Mail (vom Handy aus) News in ein bestimmtes Forum posten können!

MichaelD schrieb am 06.08.2003 um 06:59 Uhr

theDon postete
und wie will man vom board aus an die emails drankommen? das ist ein webserver, kein mailserver.

mein webserver ist gleichzeitig mailserver ;)

MichaelD schrieb am 06.08.2003 um 07:02 Uhr

bdominik postete
Das ist extrem schwer wenn man Admin-Zugriff auf den Server hat (SSH) und unmöglich wenn man keinen hat.

Ich habe mich mal daran versucht und bin jetzt soweit, das die Admins per Mail (vom Handy aus) News in ein bestimmtes Forum posten können!

naja, soooo extrem schwer ist es nicht. mit den php eigenen imap funktionen kann man sehr leicht emails aus einem pop3 oder imap postfach abholen und parsen. dazu braucht man dann noch nichtmal ssh. (welchen ich sogar hätte, allerdings nur als user, nicht als root)

ich hab mich mal selbst dran gemacht, die mails holen und zu parsen wäre kein thema, allerdings hab ich probleme die thwboard funktionen zu nutzen, um die inhalte ins board zu bekommen. (weil immer der user abgefragt wird, den es bei einer email ja nicht wirklich gibt ;) )

ich könnte die datenbankeinträge zwar mit eigenen scripten machen, aber dann ist es ja kein hack mehr :(

könntest du mir vielleicht mal deine errungenschaften zukommenlassen? vielleicht können wir es ja gemeinsam machen :)

gfc schrieb am 06.08.2003 um 09:47 Uhr

MichaelD postete

ich hab mich mal selbst dran gemacht, die mails holen und zu parsen wäre kein thema, allerdings hab ich probleme die thwboard funktionen zu nutzen, um die inhalte ins board zu bekommen. (weil immer der user abgefragt wird, den es bei einer email ja nicht wirklich gibt ;) )

vergib doch einen Fixen User für Mail-Einträge.. oder aber wenn du ja mailserver hast, kannste ja mail adressen in form von user@server.com anlegen und dann das user parsen und als Autor reintun..

schau mal hier:
http://hacks.slware.com/tboard/showtopic.php?threadid=523&time=1060107373

da hab ich einen ähnlichen Automatismus zum erstellen von Threads. ev. hilft dir das..

MichaelD schrieb am 06.08.2003 um 10:35 Uhr

danke gfc, ich schau mir deinen hack mal an, ob ich ihn irgendwie verwenden kann :)

bdominik schrieb am 06.08.2003 um 11:07 Uhr

Dieses Script wird dir nicht viel Helfen, da es als Cron-Job auf dem Server läuft, aber hier mal der Code:

#!/usr/bin/php -q
<?

$username = 'POP3 User Name';
$userpass = 'POP3 User Passwort';

$pass = 'SICHERHEITSPASSWORT';

$dbhost = 'MYSQL HOST';
$dbuser = 'MYSQL USER';
$dbpass = 'MYSQL PASSWORT';
$dbdb = 'MYSQL DATENBANK';
$pref = 'tb_';

$newsboard = 16; //=> Boardid vom Newsboard

$inbox = imap_open ("{localhost/pop3:110}",$username, $userpass);
$total = imap_num_msg($inbox);


//Db oeffnen
$mysql = mysql_connect($dbhost,$dbuser,$dbpass);
$db = mysql_select_db($dbdb);


for ($x=$total; $x>0; $x--) {
$headers = imap_header($inbox,$x);
$body = imap_body($inbox,$x);

$ar = explode("\n",$body);

$pos = strrpos($headers->Subject, $pass);
if (is_integer($pos)) {
//Richtiges PW
    $posttitel = $ar[0];
    $posttext = '';

    for ($i=1;$i<count($ar);$i++){
        $posttext .= $ar[$i].'
';
    }
        $query = "INSERT INTO ".$pref."thread (threadtopic,threadauthor,boardid,threadcreationtime,threadtime,threadlastreplyby) VALUES (
        '".addslashes($posttitel)."','admin',".$newsboard.",".time().",".time().",'admin')";
        $result = mysql_query($query);

        $threadid = mysql_insert_id();

        $query = "INSERT INTO ".$pref."post (posttime,posttext,userid,threadid,postsmilies,postcode) VALUES (".time().",'".addslashes($posttext)."',1,".$threadid.",1,1);";
        $result = mysql_query($query);

echo ('Mail eingetragen
');

    if (!$result) {
        echo($query.'<hr>');
        echo(mysql_error());
        echo('
        ');
    }
}
imap_delete($inbox,$x);
}
imap_expunge($inbox);
imap_close($inbox);
echo('Fertig
');
?>

MichaelD schrieb am 06.08.2003 um 11:34 Uhr

bdominik postete
Dieses Script wird dir nicht viel Helfen, da es als Cron-Job auf dem Server läuft, aber hier mal der Code:

wer sagt denn, dass ich keinen cronjob hätte :D

danke für das script, das ist ja schon sehr weit entwickelt, ich werde mich auch mal dran versuchen und meine ergebnisse hier posten.

MichaelD schrieb am 06.08.2003 um 11:59 Uhr

wofür ist das SICHERHEITSPASSWORT? bzw. welches passwort kommt da rein?

edit: habs schon, das muss man im subject der email reinschreiben :)

MichaelD schrieb am 06.08.2003 um 12:09 Uhr

jo, also im prinzip funzt es. es wurd nur noch nicht auf der boardübersicht angezeigt, dass da ein neuer thread ist. zudem ist das mit dem festen user noch nicht so toll. aber grundsätzlich schonmal ganz gut. auf jeden fall ausbaufähig :)

bdominik schrieb am 06.08.2003 um 17:01 Uhr

Für mich reicht es, es schreib sowiso nur ein User die News dann reicht das!

Seite 1 von 1