Options

Forgot Password Email Problems.

RyRy
edited November 2007 in Vanilla 1.0 Help
When people click "forgot password" for vanilla to email them their password i get the following error : A fatal, non-recoverable error has occurred Technical information (for support personel): Error Message An error occurred while sending the email. Affected Elements Email.Send(); The error occurred on or near: date() [function.date]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/London' for 'BST/1.0/DST' instead For additional support documentation, visit the Lussumo Documentation website at: lussumo.com/docs Could you provide a solution please? I Tried changing the SMTP settings from blank, to my email servers one, but that provides an autentication error......

Comments

  • In /library/Framework/Framework.Class.Email.php at Line 107 add:
    date_default_timezone_set('Europe/London');

    So that this part looks like:
    function Send($FatalError = 1) { date_default_timezone_set('Europe/London'); $this->FatalError = $FatalError;

    List of PHP Supported Timezones
  • thanks for the response, I tried what you suggested, and now i get this error : Notice: Undefined variable: php_errormsg in /home/fhlinux164/g/glosunit.co.uk/user/htdocs/library/Framework/Framework.Class.Email.php on line 147 A fatal, non-recoverable error has occurred Technical information (for support personel): Error Message An error occurred while sending the email. Affected Elements Email.Send(); For additional support documentation, visit the Lussumo Documentation website at: lussumo.com/docs :( Any more ideas?
  • edited August 2007
    same file, line 147 change @mail to mail and change $php_errormsg to ""

    than you get the right error message...


    if (!mail($To, $this->Subject, $Message, $Header) && $this->FatalError) $this->Context->ErrorManager->AddError($this->Context, $this->Name, "Send", "An error occurred while sending the email.", "");
  • Is this a bug in Vanilla?
  • Sure looks like it. $php_errormsg is blank by default, but if you have track_errors turned on in php.ini then it will contain the error message.
  • not defined by default ;-) the date_default_timezone_set bug seems to be a hoster "bug", since I never saw it before the $php_errormsg bug is a vanilla "bugged feature" ;-) it's in several more files
  • haha thanks, done all that, now its just a simple error message saying it couldnt send the email and the affected elements are Email.Send(); not sure what this means! haha. Why wont it send an email?
  • can you create a test.php and write in it:
    <? date_default_timezone_set('Europe/London'); mail("your@email.com", "test", "lalala"); ?>

    than open it in your browser.
    if there is no error message you should receive a email, if there is one contact your hoster
  • Another thing that may work is get some SMTP settings (mail host, username, password) from your host and enter them in the Vanilla application settings. Regarding $php_errormsg--it appears that track_errors is turned on for Vanilla in appg/headers.php, but I don't know why its not being defined...
  • @ $php_errormsg right, sry. maybe some restriction by his hoster or an old php version
  • May not be related, but I had e-mail problems when the SMTP user name didn't match that on the support e-mail address. When I made them the same, all was well.
  • check if you have sendmail installed, my ubuntu doesn't have it in fresh installation anyway I had to use both workarounds: timezone (actually I set this in php.ini) and php_message
This discussion has been closed.