. .
pragmaMx Support Forum 26 Mai 2012, 02:38:37 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1] 2 3   Nach unten
Drucken
Autor Thema: PM`s als Mail  (Gelesen 29932 mal)
0 Mitglieder und 2 Gäste betrachten dieses Thema.
kampfschaf
öfter hier
**
Offline Offline

Beiträge: 31


« am: 04 Juli 2003, 22:51:32 »

Hallo Gemeinde.

Bitte erschlagt mich nicht gleich, aber ich habe gesucht!

Ich würde gerne die Pm`s als Mail versenden, oder wenigstens eine Nachricht per Mail, das der User eine PM erhalten hat.
Natürlich nur wenn er nicht online ist/war.
Soll also heissen, wenn ein User von einem anderm eine Pm bekommt und er ist on, dann bekommt er Sie ja automatisch per Popup. Wenn er nun aber lange nicht online war, soll er eine Mail bekommen, das er ne PM bekommen hat.

Ist sowas zu realisieren?
Gruß
Kampfi
Gespeichert
tequila
Inventar
*******
Offline Offline

Beiträge: 1.766


« Antworten #1 am: 04 Juli 2003, 23:03:43 »

Tja, wenn Du an der Stelle, an der die PMs in die Datenbank für den User eingefügt werden eine Abfrage einbaust, ob er gerade online ist oder nicht, dann schon.

Weil ist er nicht online, dann sickt Du ihm das Ding eben über die PHP-Mailfunktion. Dürfte nicht so schwer sein.

Tip: nimm Dir die functions2.php vom eBoard, das sind diverse Aufrufe der Mail-Funktion drinnen, dann hast Du eine Vorlage für die Syntax. Such nach "mail(", dann solltest Du es finden Wink

Viel Erfolg
Gespeichert
kampfschaf
öfter hier
**
Offline Offline

Beiträge: 31


« Antworten #2 am: 04 Juli 2003, 23:14:45 »

Aha, so in der Art hatte ich mir das schon vorgestellt, zumindest vom Verständnis...

Aber ich denke das ist nichts für mich, weil ich`s net kann...
Dachte jemand hat das schon mal realisiert und ich könnte da was abzwacken *gg

Ich werde mich mal reinlesen.
danke
Gespeichert
JensWagenknecht
weiss mehr
****
Offline Offline

Beiträge: 253


« Antworten #3 am: 05 Juli 2003, 12:19:12 »

Für das PM müssste es eine Funktion geben und dort die Mailfuinktion mit Abfrage, ob User online ist oder nicht rein.

Sollte sich keiner mehr melden, der es Dir macht, so gib Bescheid.  Ich mache es dann.

Nur mit dem neuen MX dürfte es dann wieder weg sein.

[Editiert am 5/7/2003 von JensWagenknecht]
Gespeichert
Chris007
öfter hier
**
Offline Offline

Beiträge: 31


« Antworten #4 am: 29 November 2004, 21:54:35 »

HAllo

Wie würde den die abfrage aussehen.

Die stelle habe ich gefunden wie ich die E-Mails verschicke. Nur will ich ja die E-mails verschicken wenn der User Offline ist.

Kurz was ich gemacht habe in der index.php von Private_Messages habe ich es über  messagesheader($uid); eingefügt.

list($touser_email) = sql_fetch_row(sql_query("SELECT email FROM ".$user_prefix."_users WHERE uid='$to_userid'", $dbi), $dbi);
@mail("$touser_email", "Sie haben auf der webseite eine PM", "Hier kommt Deine Message an den Empfänger rein", "From: $adminmail");

      messagesheader($uid);

Nun müsste ich ja eine if bedinung dazu setzen das es nur eine E-mail gibt wenn der empfänger offline ist.
Aber Wie ??

Besten Daank schon mal im vorraus für die Mühe und tipps.
Gespeichert
jubilee
Gast
« Antworten #5 am: 30 November 2004, 10:22:02 »

Hallo !
Ob ein User online ist, kannst Du im VKPMX mit der Funktion
mxIsUserOnline($username)
feststellen.Diese gibt false in dem Fall zurück, das der User nicht online ist.
An diese Funktion übergibst Du den entsprechenden Usernamen und wenn die Funktion dann fallse zurückgibt, kannst Du das Mailen starten :
Zitat
list($touser_uname,$touser_email) = sql_fetch_row(sql_query("SELECT uname, email FROM ".$user_prefix."_users WHERE uid='$to_userid'", $dbi), $dbi);
if (!mxIsUserOnline($touser_uname))
{
   mxMail($touser_email, "Sie haben auf der webseite eine PM", "Hier kommt Deine Message an den Empfänger rein", $GLOBALS['adminmail'],"text","PM-Mail");
}
 

MfG
jubilee
« Letzte Änderung: 30 November 2004, 19:46:31 von jubilee » Gespeichert
Juliet
weiss mehr
****
Offline Offline

Geschlecht: Weiblich
Beiträge: 361


WWW
« Antworten #6 am: 30 November 2004, 21:03:01 »

Falls jemans noch interesse daran hat, dass Use vorher auswählen können, ob Sie per Email über neue PN's informiert werden möchte bitte kurz bescheid sagen ... hab das gerade dazu gebaut , weil mir meine User sonst wegen unerlaubter Spam aufs Dach gestiegen wären Wink
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #7 am: 30 November 2004, 21:09:02 »

hi...ich hätte daran interesse...
Gespeichert
Juliet
weiss mehr
****
Offline Offline

Geschlecht: Weiblich
Beiträge: 361


WWW
« Antworten #8 am: 30 November 2004, 21:30:12 »

HI Smiley

also ... ich ein wenig Frickelei, aber machbar.
Zunächst mußt Du eine neue Zeile in die prefix_users einfügen. Der Übersichthalber am besten unter user_pm_popuptime - BITTE VORHER DIE PREFIX_USERS DUMPEN!!!

Das neue Feld heißt user_pm_mail und hat folgende Werte:
Typ = INT
Länge/Set = 1
null = not null
Standart = 0

In die Datei Your_Account/edithome.php habe ich unter die Abfrage für die PM-Popuptime folgedes eingefügt:

### steht schon drin - nur als Anhalt für den PLatz zum Einfügen####
... echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><font class=\"content\">"._YA_PMPOPTIME1."</font></td>"
."<td bgcolor=\"$bgcolor3\" colspan=\"2\">"._YA_PMPOPTIME3." <select name=\"user_pm_poptime\">".$options."</select> <span class=\"tiny\">"._YA_PMPOPTIME2."</span></td></tr>";
}
#### hier jetzt der neue Code für die Mail-Checkbox #######
$pn_mail = (empty($userinfo['user_pm_mail'])) ? "" : "checked";
$user_pm_mail = (empty($userinfo["user_pm_mail"]))  ? 0 : (int)$userinfo["user_pm_mail"];
echo "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><font class=\"content\">Bei neuer PN informieren:</font></td>"
."<td bgcolor=\"$bgcolor3\" colspan=\"2\"><INPUT TYPE=\"CHECKBOX\" NAME=\"user_pm_mail\" VALUE=\"1\" ".$pn_mail."> <span class=\"tiny\">Bei einer neuen PN werden Sie vom System per Email informiert.</span></td></tr>\n";


In die Datei Private_Messages/index.php wird in die function submitmessage folgendes vor messagesheader($uid) eingefügt:

###Email bei neuer PN wenn User offline ist #####
list($touser_uname,$touser_email,$user_pm_mail) = sql_fetch_row(sql_query("SELECT uname, email, user_pm_mail FROM ".$user_prefix."_users WHERE uid='$to_userid'", $dbi), $dbi);
$message = "Halle $touser_uname,\nSie haben auf DEINE_DOMAIN.de eine neue Private Nachricht erhalten.
WICHTIG: Beachten Sie, dass dies nur eine Benachrichtigung ist. Bitte antworten Sie nicht auf diese E-Mail.
Ihre Nachricht können Sie hier abholen:\n http://www.DEINE_DOMAIN.de/modules.php?name=Private_Messages\n
=================================================================================
Wenn Sie nicht per Email über neue PN's informiert werden wollen können Sie die Option hier deaktivieren:\nhttp://www.DEINE_DOMAIN.de/modules.php?name=Your_Account&op=edithome";
$subject = "Private Nachricht auf DEINE_DOMAIN.de";
if (!mxIsUserOnline($touser_uname) && ($user_pm_mail ==1))
{
   mxMail($touser_email, "$subject", $message, $GLOBALS['adminmail'],"text","PM-Mail");
}
#######

Bitte DEINE_DOMAIN durch Deine Domain ersetzen cheesy

Nun kannst Du unter "Deine Einstellungen" den Haken setzen, ob Du über neue PN's per Email informiert werden möchtest oder eben nicht.

Bei mir funktioniert alles wunderbar. Falls sich Fehler eingeschlichen haben also bitte Bescheid sagen Smiley
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #9 am: 30 November 2004, 21:48:39 »

wie bekomme ich denn die eine zeile in die mx_users Huh
Gespeichert
Juliet
weiss mehr
****
Offline Offline

Geschlecht: Weiblich
Beiträge: 361


WWW
« Antworten #10 am: 30 November 2004, 21:59:09 »

Per phpmyadmin - kommt darauf an welche version Du hast, aber üblich ist der Weg:

mx_users auswählen.
Unten steht: Neue Felder hinzufügen (dort gibst du 1 an)
Dann auswählen wo sie eingefügt werden soll: nach user_pm_poptime
OK

Dann bekommst Du die Zeile angezeigt in die Du die oben genannten Werte eingibst - et voilŕ!
« Letzte Änderung: 30 November 2004, 22:00:55 von Juliet » Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #11 am: 01 Dezember 2004, 10:35:05 »

wo muss ich was ändern,wenn ich gerne am anfang ein haken hätte , so das die user ihn rausnehmen können ?
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #12 am: 01 Dezember 2004, 11:04:37 »

habe alles so gemacht wie es hier steht,aber es kommen keine emails an....
Gespeichert
Juliet
weiss mehr
****
Offline Offline

Geschlecht: Weiblich
Beiträge: 361


WWW
« Antworten #13 am: 01 Dezember 2004, 11:33:08 »

Zitat
wo muss ich was ändern
Du mußt den Standartwert des Feldes user_pm_mail bei Standart auf 1 setzen. Wenn Du bereits 0 gesetzt hast mußt Du die Zeile mit dem SQL-Befehl ändern:
Code: [Select]  
UPDATE `mx_users`SET `user_pm_mail`='1' WHERE `user_pm_mail`='0';
<< BITTE vorher wieder dumpen!

Zitat
habe alles so gemacht wie es hier steht,aber es kommen keine emails an....
1. War der User an den die PN gerichtet war wirklich offline? Nur wenn er offline ist bekommt er eine eMail
2. war die Option "per Mail über neue PN informiere" beim user auch wirklich gesetzt?

bei mir fuktioniert alles einwandfrei ... komisch.
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #14 am: 01 Dezember 2004, 11:49:41 »

was heisst dumpen?

ansonsten war alles richtig eingestellt?
Gespeichert
Juliet
weiss mehr
****
Offline Offline

Geschlecht: Weiblich
Beiträge: 361


WWW
« Antworten #15 am: 01 Dezember 2004, 12:16:20 »

dumpen bedeutet, dass du von der mx_users vorher eine sicherungskopie machst, falls beim update etwas schief geht.

Bitte bedenke, dass ein User nicht offline ist, wenn er die Seite schließt, sondern erst, wenn er die voreingestellte Zeit nicht mehr online war (bei mir sind das 15 Minuten) oder er sich asugeloggt hat.
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #16 am: 01 Dezember 2004, 12:19:20 »

der user ist offline gewesen...was machen wir nun?
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #17 am: 01 Dezember 2004, 12:24:22 »

muss ich eigentlich auch was in die index.php sendmessage in die global einfügen?
Gespeichert
Juliet
weiss mehr
****
Offline Offline

Geschlecht: Weiblich
Beiträge: 361


WWW
« Antworten #18 am: 01 Dezember 2004, 12:27:47 »

moooooooment

Zitat
muss ich eigentlich auch was in die index.php sendmessage in die global einfügen?

Hast Du den Code in die Funktion sendmessage oder in die Function submitmessage gepakt?

In die function submitmessage() muß es rein!
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #19 am: 01 Dezember 2004, 14:49:14 »

hatte ich auch darein gemacht...muss ich den dort was in der global zufügen?
Gespeichert
Seiten: [1] 2 3   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML