IMAP / PM Interface
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
IMAP / PM Interface
Hallo,
gab es schon jemanden, der sich darüber Gedanken gemacht hat oder einen Mod geschrieben hat, der es den Usern ermöglicht die PM Oberfläche gleichzeitig als Webmailtool zu nutzen?
D.h. der User kann im Posteingang der PM gleichzeitig über {USERNAME}@domain.de / {USER_ID}@domain.de (bei Sonderzeichen) Emails empfangen bzw. beim Erstellen neuer PMs auch Emailempfänger eingeben.
Ein denkbares Feature wäre hier, dass PMs auch per Outlook bezogen werden könnten (wobei es mir primär darum geht den User an das Portal zu binden).
Gruß
Marc
EDIT:
Um das ganze schnell, schlank und sicher zu halten würde ich nur Textmails erlauben.
Der Mod könnte wie dieser auf CATCH ALL basieren:
http://www.phpbb.de/viewtopic.php?t=140818&highlight=
Ein Script z.B. per Cronjob gesteuert ruft dann alle X Minuten die Mails ab und weist sie den Usern zu.
D.h. Mail wird heruntergeladen
-> in eine PM verwandelt und mit der entsprechender Absenderadresse ausgestattet
-> beim Lesen ist ein Extra Hinweis "extern" oder sowas erkennbar
-> beim Antworten übernimmt er die Emailadresse in das Empfängerfeld.
-> BBCodes sind beim Emailversand ebenfalls nicht möglich
So die grobe Idee.
Ich habe leider keine Erfahrung was die Geschwindigkeit eines IMAP Scriptes anbelangt, sonst hätte ich auch die Alternative angedacht:
-> User öffnet Posteingang, die Mails werden per IMAP abgerufen und in eine PM umgewandelt
So könnte man den Cronjob wieder vergessen. Aber ich weiß eben nicht, wie lange dann das Laden des Posteinganges dauern würde.
Kann man beim Laden per IMAP schon direkt unterbinden, dass Emails mit X MB gar nicht erst heruntergeladen werden? Wie gesagt geht es im ersten Schritt nur um reine Textmails.
Gruß
Marc
EDIT2:
Welche Richtlinien muss man als Webmailanbieter einhalten? Gibt es bestimmte Gesetze? Bei Emails war das doch die 90 Tage Aufbewahrungspflicht, wenn ich mich recht entsinne. Wenn es noch andere Dinge gibt, dann wäre das nicht schlecht zu wissen.
Grundsätzlich sollte man den Mailversand auf X Mails pro Tag und Y Mails pro Monat begrenzen, um evtl. Missbrauch als Spamtool zu vermeiden.
gab es schon jemanden, der sich darüber Gedanken gemacht hat oder einen Mod geschrieben hat, der es den Usern ermöglicht die PM Oberfläche gleichzeitig als Webmailtool zu nutzen?
D.h. der User kann im Posteingang der PM gleichzeitig über {USERNAME}@domain.de / {USER_ID}@domain.de (bei Sonderzeichen) Emails empfangen bzw. beim Erstellen neuer PMs auch Emailempfänger eingeben.
Ein denkbares Feature wäre hier, dass PMs auch per Outlook bezogen werden könnten (wobei es mir primär darum geht den User an das Portal zu binden).
Gruß
Marc
EDIT:
Um das ganze schnell, schlank und sicher zu halten würde ich nur Textmails erlauben.
Der Mod könnte wie dieser auf CATCH ALL basieren:
http://www.phpbb.de/viewtopic.php?t=140818&highlight=
Ein Script z.B. per Cronjob gesteuert ruft dann alle X Minuten die Mails ab und weist sie den Usern zu.
D.h. Mail wird heruntergeladen
-> in eine PM verwandelt und mit der entsprechender Absenderadresse ausgestattet
-> beim Lesen ist ein Extra Hinweis "extern" oder sowas erkennbar
-> beim Antworten übernimmt er die Emailadresse in das Empfängerfeld.
-> BBCodes sind beim Emailversand ebenfalls nicht möglich
So die grobe Idee.
Ich habe leider keine Erfahrung was die Geschwindigkeit eines IMAP Scriptes anbelangt, sonst hätte ich auch die Alternative angedacht:
-> User öffnet Posteingang, die Mails werden per IMAP abgerufen und in eine PM umgewandelt
So könnte man den Cronjob wieder vergessen. Aber ich weiß eben nicht, wie lange dann das Laden des Posteinganges dauern würde.
Kann man beim Laden per IMAP schon direkt unterbinden, dass Emails mit X MB gar nicht erst heruntergeladen werden? Wie gesagt geht es im ersten Schritt nur um reine Textmails.
Gruß
Marc
EDIT2:
Welche Richtlinien muss man als Webmailanbieter einhalten? Gibt es bestimmte Gesetze? Bei Emails war das doch die 90 Tage Aufbewahrungspflicht, wenn ich mich recht entsinne. Wenn es noch andere Dinge gibt, dann wäre das nicht schlecht zu wissen.
Grundsätzlich sollte man den Mailversand auf X Mails pro Tag und Y Mails pro Monat begrenzen, um evtl. Missbrauch als Spamtool zu vermeiden.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Screenshots:
Man schreibt eine ganz normale Mail an {USERNAME}@forum.de:
[ externes Bild ]
Achtet dabei darauf, dass die Mail als reine Textmail gesendet wird (andere werden derzeit nicht unterstützt):
[ externes Bild ]
Schaut im Forum in seinen Posteingang:
[ externes Bild ]
Und öffnet die Email als wäre sie eine normale PN:
[ externes Bild ]
Meine derzeitige includes/class_imap.php:
Die Datei include ich derzeit in prvmsg.php über:
wie folgt: (erstmal nur ich, kein anderer user)
Noch jemand außer mir Interesse an so einem Mod?
Gruß
Man schreibt eine ganz normale Mail an {USERNAME}@forum.de:
[ externes Bild ]
Achtet dabei darauf, dass die Mail als reine Textmail gesendet wird (andere werden derzeit nicht unterstützt):
[ externes Bild ]
Schaut im Forum in seinen Posteingang:
[ externes Bild ]
Und öffnet die Email als wäre sie eine normale PN:
[ externes Bild ]
Meine derzeitige includes/class_imap.php:
Code: Alles auswählen
<?php
//
// file: class_imap.php
// author: mgutt
// begin: 07/03/2007
// version: 1.0.0 - 07/03/2007
// license: http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
//
$login = '{LOGIN}';
$password = '{PASSWORD}';
$maximum_username_len = 40;
$allowed_username_chars = '[0-9a-zA-Z-_]';
$user_ip = '7f000001';
$html_on = 0;
$bbcode_on = 1;
$smilies_on = 1;
$attach_sig = 0;
$bbcode_uid = 0;
$switches = array(
'html' => $html_on,
'bbcode' => $bbcode_on,
'smilies' => $smilies_on,
);
// Achtung: 9-facher Spamfilter ist bei meinem Provider vorinstalliert, daher gibt es keine weiteren Spamfilter in diesem Script
if ( $mbox = imap_open("{localhost:143/notls}INBOX", $login, $password) )
{
$password = $login = '';
if ( $val = imap_check($mbox) )
{
$mn = $val->Nmsgs;
}
else
{
imap_close($mbox);
message_die(GENERAL_ERROR, "It was not possible to obtain mails.", "", __LINE__, __FILE__, $sql);
}
$overview = imap_fetch_overview($mbox, "1:$mn", 0);
$size = sizeof($overview);
$k = 0;
for ( $i = $size - 1 ; $i >= 0; $i-- )
{
$val = $overview[$i];
$structure = imap_fetchstructure($mbox, $val->msgno);
$to = strtolower(preg_replace('#.*?(' . $allowed_username_chars . '+?)@maxrev.de.*#', '\\1', $val->to));
$read_mail = false;
// parse only if username was found
if ( strlen($userdata['username']) < $maximum_username_len && preg_match('#' . $allowed_username_chars . '#', $userdata['username']) && $to == strtolower($userdata['username']) )
{
$read_mail = true;
}
// parse only if user_id was found
else if ( $to == $userdata['user_id'] )
{
$read_mail = true;
}
// parse only text mails
if ( $read_mail && $structure->type == 0 && $structure->subtype == 'PLAIN' && !isset($structure->parts) )
{
if ( !empty($val->subject) )
{
$privmsg_subject = trim(htmlspecialchars($val->subject));
// Umlaute
$privmsg_subject = imap_utf8($privmsg_subject);
$privmsg_subject = addslashes(utf8_decode($privmsg_subject));
}
else
{
$privmsg_subject = 'Es wurde kein Betreff angegeben';
}
$msg_time = strtotime($val->date);
$privmsg_message = trim(html_entity_decode(addslashes(imap_body($mbox, $val->msgno))));
if ( !empty($privmsg_message) )
{
if ( $bbcode_on )
{
$bbcode_uid = make_bbcode_uid();
}
$privmsg_message = prepare_message($privmsg_message, $html_on, $bbcode_on, $smilies_on, $bbcode_uid);
}
$sql = "INSERT INTO " . PRIVMSGS_TABLE . "
(privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_from_email, privmsgs_to_userid, privmsgs_date, privmsgs_ip, privmsgs_enable_html, privmsgs_enable_bbcode, privmsgs_enable_smilies, privmsgs_attach_sig)
VALUES
(" . PRIVMSGS_NEW_MAIL . ", '" . str_replace("\'", "''", $privmsg_subject) . "', " . ANONYMOUS . ", '" . str_replace("\'", "''", addslashes($val->from)) . "', " . $userdata['user_id'] . ", $msg_time, '$user_ip', $html_on, $bbcode_on, $smilies_on, $attach_sig)";
if ( !($result = $db->sql_query($sql, BEGIN_TRANSACTION)) )
{
message_die(GENERAL_ERROR, "Could not insert email message.", "", __LINE__, __FILE__, $sql);
}
$privmsg_sent_id = $db->sql_nextid();
$sql = "INSERT INTO " . PRIVMSGS_TEXT_TABLE . "
(privmsgs_text_id, privmsgs_bbcode_uid, privmsgs_text)
VALUES
($privmsg_sent_id, '" . $bbcode_uid . "', '" . str_replace("\'", "''", $privmsg_message) . "')";
if ( !$db->sql_query($sql, END_TRANSACTION) )
{
message_die(GENERAL_ERROR, "Could not insert email message text.", "", __LINE__, __FILE__, $sql);
}
// mark as delete
imap_delete($mbox, $val->msgno);
}
}
imap_close($mbox, CL_EXPUNGE);
}
else
{
$password = $login = '';
message_die(GENERAL_ERROR, "It was not possible to connect the mail server.", "", __LINE__, __FILE__, $sql);
}
?>
Code: Alles auswählen
//
// New message
//
Code: Alles auswählen
//-- add
if ( $user->data['user_id'] == 2 )
{
include($config->url('includes/class_imap'));
}
//-- end

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
klingt nicht uninteressant!
Könnte man nicht den attachment Mod einbinden, sodass über das PN Interface doch Mails mit Anhang versandt werden?
Wie genau stellst du dir das vor - gibts dann keine PNs mehr sondern nur mehr emails?
Oder kann der User entscheiden ob er das Ding als PN oder email versendet??
Könnte man nicht den attachment Mod einbinden, sodass über das PN Interface doch Mails mit Anhang versandt werden?
Wie genau stellst du dir das vor - gibts dann keine PNs mehr sondern nur mehr emails?
Oder kann der User entscheiden ob er das Ding als PN oder email versendet??
Es tanzt ein Bi Ba Butzemann.
Ich dachte daran, wenn jemand eine Emailadresse eingibt, dass das dann per Email rausgeht und wenn es ein Name ist an den User.
Das mit dem Attachment Mod ist genau das was ich umsetzen wollte
Gruß
Marc
Das mit dem Attachment Mod ist genau das was ich umsetzen wollte

Gruß
Marc
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Noch nicht mal anhaken dachte ich. Einfach in das gleiche Feld. Das "Benutzername" kann man dann gegen "Benutzername / Email" tauschen.
In Zukunft wäre neben "Benutzernamen finden" auch "Adressbuch" denkbar. Oder stattdessen, so dass man in ein Fensterkommt, wo man sowohl nach Benutzernamen als auch nach Emails aus dem eigenen Adressbuch suchen könnte.
So in der Richtung eben
Ich bereite mal die Antwortfunktion vor.
Gruß
In Zukunft wäre neben "Benutzernamen finden" auch "Adressbuch" denkbar. Oder stattdessen, so dass man in ein Fensterkommt, wo man sowohl nach Benutzernamen als auch nach Emails aus dem eigenen Adressbuch suchen könnte.
So in der Richtung eben

Ich bereite mal die Antwortfunktion vor.
Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Für das Attachment/die Antwort würde ich den PHPMailer empfehlen:
http://phpmailer.sourceforge.net/
Damit kann man ziemlich unkompliziert Anhänge an Emails hängen, die Kiste beherrscht - soweit ich weiß - auch den Versand über SMTP.
Vielleicht könnte man auch gleich mehrere Empfänger erlauben, oder besser das für jeden Benutzer einzeln regeln - um Spamversand vorzubeugen. (Oder vielleicht auch so eine Art Posting Schwellwert: Maximal Wurzel aus Posts Mails Pro Stunde oder so).
Auf jedenfall sollte die Berechtigungsüberprüfung auf einen Wert der $userdata übertragen werden, so dass man für die User dieses Feature individuell freischalten könnte. Vielleicht sogar als Nicht-Forumsbezogene Gruppenberechtigung.
http://phpmailer.sourceforge.net/
Damit kann man ziemlich unkompliziert Anhänge an Emails hängen, die Kiste beherrscht - soweit ich weiß - auch den Versand über SMTP.
Vielleicht könnte man auch gleich mehrere Empfänger erlauben, oder besser das für jeden Benutzer einzeln regeln - um Spamversand vorzubeugen. (Oder vielleicht auch so eine Art Posting Schwellwert: Maximal Wurzel aus Posts Mails Pro Stunde oder so).
Auf jedenfall sollte die Berechtigungsüberprüfung auf einen Wert der $userdata übertragen werden, so dass man für die User dieses Feature individuell freischalten könnte. Vielleicht sogar als Nicht-Forumsbezogene Gruppenberechtigung.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Wobei das nicht so ganz das gleiche ist, wenn ich das richtig sehe: Bei deinem Mod muss für jeden User ein eigener Account bestehen, während hier eine Catchall Adresse für sämtliche Adressen zuständig sein soll. Vielleicht lassen sich aber ja die Funktionalitäten aufgrund der Ähnlichkeit koppeln.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Danke. Ich werde mich davon inspirieren lassen, werde aber grundsätzlich den Attachment Mod für diesen Zweck missbrauchen. Ich halte es für unnötig neue Funktionen zu schreiben, wenn bereits funktionierende und ausgereifte Mods verfügbar sind.gn#36 hat geschrieben:Für das Attachment/die Antwort würde ich den PHPMailer empfehlen:
http://phpmailer.sourceforge.net/
Damit kann man ziemlich unkompliziert Anhänge an Emails hängen, die Kiste beherrscht - soweit ich weiß - auch den Versand über SMTP.
Das Problem Spam muss ich mir noch genau überlegen, damit nicht jemand hingeht die User der Gruppe X ausliest und die alle gleichzeitig anmüllt bzw. einfach allen Mitglieder eine Mail sendet. Am bestne ist denke ich, wenn man von Absender X innerhalb von 24 Stunden nur X Mails duldet (unabhängig vom Empfänger). Das wäre denke ich eine praktikable Lösung oder?
Damit auch gleich eine Antwort zu NMKs Mod. Ich möchte keinen Zusatz, sondern eine Erweiterung anbieten. Nichts bietet sich eher an als den Posteingang dazu zu verwenden, dass man darüber auch Emails versenden kann. Weiterhin soll es keinen doppelten Login geben oder andere ich nenne es mal "Hürden". Ganz simpel und gewohnt wie bisher. Den Rest hat gn36 bereits gesagt.
Wer nachher das Recht zum Mailen bekommt ist flexibel. Man könnte es über eine neue Systemgruppe lösen oder alle oder keinen. Aber das ist das kleinste Übel.
Ich werde mir in jedem Fall noch einiges zu Gemüte führen, denn das Thema HTML Dekodierung ist nicht ohne. Besonders für deutsche Emails

Gruß
Marc
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it