Aw:: E-Mail bei neuer PM! Geht das?

Betreff: Aw:: E-Mail bei neuer PM! Geht das?
von migoe am 27.05.2010 18:42:59

Hallo Alfred,

Zitat:

alfred schrieb:

mal nen Schnellcrashkurs dazu:

- öffne die pmlite.php ...

Das ganze kann man noch schön ausbauen



ich habe aus uralten Xoops 2.0 Zeiten eine Hack gefunden, der früher mal gepasst hat, nun aber leider nicht mehr funktioniert. Wie müßte ich den anpassen, damit er auch mit Version 2.3.3 und eProfile 1.68 funktioniert?

// Hack by marcan to receive Private Message email notification
       
$userHandler =& xoops_gethandler('user');
       
$toUser =& $userHandler->get($HTTP_POST_VARS['to_userid']);
       
// Only send email notif if notification method is mail
       
if ($toUser->notify_method() == 2) {
          
$xoopsMailer =& getMailer();
          
$xoopsMailer->useMail();
          
$xoopsMailer->setToEmails($toUser->email());
          
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
          
$xoopsMailer->setTemplate('new_pm.tpl');
          
$xoopsMailer->assign('X_SITENAME'$xoopsConfig['sitename']);
         
$xoopsMailer->assign('X_SITEURL'XOOPS_URL."/");
         
$xoopsMailer->assign('X_ADMINMAIL'$xoopsConfig['adminmail']);
         
$xoopsMailer->assign('X_UNAME'$toUser->uname());
          
$xoopsMailer->assign('X_FROMUNAME'$xoopsUser->uname());
         
$xoopsMailer->assign('X_SUBJECT'$myts->stripSlashesGPC($HTTP_POST_VARS['subject']));
          
$xoopsMailer->assign('X_MESSAGE'$myts->stripSlashesGPC($HTTP_POST_VARS['message']));  
          
$xoopsMailer->assign('X_ITEM_URL'XOOPS_URL "/readpmsg.php?start=" $pm->getVar('msg_id') . "&total_messages=1"); 
          
$xoopsMailer->setFromName($xoopsConfig['sitename']);
          
$xoopsMailer->setSubject(sprintf(_PM_MESSAGEPOSTED_EMAILSUBJ$xoopsConfig['sitename']));
         
$xoopsMailer->setBody($HTTP_POST_VARS['message']);
          
$xoopsMailer->send();
       }


Der Vorteil an dieser Lösung ist das Template, welches mitgeliefert wurde und das individuell gestaltet werden kann. Das Template liegt im Verzeichnis ROOT/language/german/mail_templates/

Gut an diesem Hack ist auch, dass nur die User eine Mailbenachrichtigung erhalten, die das in den persönlichen Einstellungen des Kontos ausgewählt haben. Der Hack, den Du hier auf die schnelle gepostet hast, verschickt immer eine Mail, auch wenn der User das nicht möchte.

Der Hack von marcan kann doch sicher relativ einfach angepasst werden, oder? Über einen Hinweis würde ich mich sehr freuen - vielleicht gibt es ja eine noch bessere Lösung?

migoe
Design by: XOOPS UI/UX Team