I'm having the same issue as vzx.
Notice: Undefined variable: mTitle in /home2/vzx/public_html/temple/extensions/Notify/default.php on line 309
Notice: Undefined variable: mComment in /home2/vzx/public_html/temple/extensions/Notify/default.php on line 309
Notice: Undefined variable: mUser in /home2/vzx/public_html/temple/extensions/Notify/default.php on line 309
Any clues?
Daniel
With forum name in asian characters, the subject of notification mail would be corrupted and not-readable. I've made some modifications to meet the RFC 2047 standard to encode mail subjects correctly.
I believe there is an error in the notify setup - Notify adds a number of fields to lum_user, specifically 'SubscribeOwn' & 'Notified', that are defined as "not null". This is causing a fatal, non-recoverable error when a new user record is created, i.e. a new user tries to register. SInce the fields are defined as 'not null' and default values are not supplied, the result is a fatal error.
So I'm thinking you can either set defaults to 0 and hope that's correct or redefine the fields to allow nulls and again, hope for the best. Either fix will allow users to register again - but I've no idea if Notify will like these solutions. Hutstein, can you comment?
Just installed the plug in NOTIFY. Have read the many other comments and I must say everything seems to be working great for me. EXCEPT...no email. And I see many others have brought up this issue. But many of the answers I see seem to fix other issues, not just the email issue notifying the user that a new post is made.
Is there anyway just to fix this one issue...so users can receive email notifications of new posts. Just this one issue, I get NO other error messages, nothing gets froze, all seems fine. Just the email issue.
Please help or suggest.
The mail function uses sendmail on the server (assuming it's running) the Send function is one of vanillas functions and uses either sendmail or smtp depending on whch is configured in your application settings. Technically Send is the correct way to do it since mail wont work if servers dont have sendmail installed.
So, help me brainstorm and try to figure out the difference between how Notify builds the email structure and how I do it in my add-on. Notify builds the $e object and then fills each component: $e->AddFrom, $e->AddRecipient, $e->Subject and $e->Body. Then it uses $e->Send(). It looks like it has something in the $e->Body called $test which is not in the script. Could this cause the problem? $e->Body = str_replace(array("{forum_name}","{topic_url}"),array($DiscussionForm->Context->Configuration['APPLICATION_TITLE'],ConcatenatePath($DiscussionForm->Context->Configuration['BASE_URL'].'comments.php?DiscussionID='.$DiscussionID,'')),$EmailBody).$test;
That $test value does seem to be slightly errant. I wonder if Mark left that in there by accident...
Can we confirm whether the notify extension works either with or without the SMTP settings?
I have managed to get notify working by doing a fresh install and leaving the SMTP settings blank. I now get messages every time. I would assume then that mail() is working for me when send() was not. I have also set automatic notification on in the settings file.
- Daniel
Oh..hmm....the Notify extension doesnt use preferences it uses DB entries so actually that wont work, sorry. I wonder how it's easiest done in this case then... You could run a sql script to change everybody to auto notify but then that'd also wipe peoples preferences if they'd turned it off. Maybe you'd need to attach to a delegate somewhere during user creation and enable it then..
Any ideas guys?
While evaluating Notify, I discovered Javascript bugs related to prototype not being included. I tracked this down to what looks like a bug in line 429 of the extentions, where the three "AddScript" lines aren't braced in. I added these braces, and this fixed the js error.
However, the extension still doesn't work for me :-(...no emails.
Nothing seemed to happen after I clicked any of the checkboxes because there seems to be a problem with the ajax request URL. Changing Notify/functions.js:10 to this seems to do the trick.
var ajax = new Ajax.Request(parent.location.protocol + '//' + document.domain + '/forum/extensions/Notify/ajax.php', {
There is also an extra statement that needs to be commented out or else the line will disappear after you click the checkbox (because it setting its innerHTML to nothing) just comment it out and it should work.
Notify/functions.js:17
//$(Elem).innerHTML = NewText;
I understand that Notify sends an e-mail when a comment is made to a discussion the user has subscribed to. Is there any functionality available that goes the other way? Could a user potentially reply to the e-mail, and have that message tack on a new comment to the forum discussion?
Great stuff hutstein, I love the way it works now. It would be great if there was an option to remove it from the panel and put all the controls on the account page?
Comments
1. Notify/default.php:350
From:
$e->Subject = $DiscussionForm->Context->Configuration['APPLICATION_TITLE'].' '.$DiscussionForm->Context->GetDefinition('Notification');
To:
$e->Subject = mailSubject( $DiscussionForm->Context->Configuration['APPLICATION_TITLE'].' '.$DiscussionForm->Context->GetDefinition('Notification') );
2. and add the mailSubject() function's code like follows.
function mailSubject( $str ) { $result = ''; $strArray = explode( ' ', $str ); for ( $idx=0; $idx<count($strArray); $idx++ ) { if ( $idx > 0 ) { $blank = ' '; } else { $blank = ''; } $result = $result . '=?utf-8?b?' . base64_encode( $blank . $strArray[ $idx ] ) . '?='; } return $result; }
That's it!
So I'm thinking you can either set defaults to 0 and hope that's correct or redefine the fields to allow nulls and again, hope for the best. Either fix will allow users to register again - but I've no idea if Notify will like these solutions. Hutstein, can you comment?
mail($to,$subject,$mail_body,$from);
The Notify add-on uses uses the send() function.
$e->Send();
I don't know the difference between send() and mail(), but perhaps someone can tell me.
$e->Body = str_replace(array("{forum_name}","{topic_url}"),array($DiscussionForm->Context->Configuration['APPLICATION_TITLE'],ConcatenatePath($DiscussionForm->Context->Configuration['BASE_URL'].'comments.php?DiscussionID='.$DiscussionID,'')),$EmailBody).$test;
I get notifications all the time.
Posted: Friday, 13 July 2007 at 7:26AM
It would be great if there was an option to remove it from the panel and put all the controls on the account page?