Welcome to Geeklog, Anonymous Monday, December 23 2024 @ 03:40 am EST

Geeklog Forums

Error when trying to register a new user


Status: offline

racooper

Forum User
Junior
Registered: 03/13/04
Posts: 24
I found GeekLog after seeing that it is being used to run GrokLaw. I like what I see! However, I have one main problem on my test site. Anyone got a fix for this error?

In a new install of GeekLog 1.3.9, new database, nothing old hanging around to interfere...When I enter a username and email address on the registration page then click the "Register Now!" button, I get the following error on the next page:

Fatal error: Call to a member function on a non-object in /home/html/html/lib-common.php on line 3259

(line 3259, btw, is

COM_errorLog( $retval->toString(), 1 );

in the code

$retval = $mailobj->send( $to, $headers, $message );
if( $retval !== true )
{
COM_errorLog( $retval->toString(), 1 );
}

the user is added to the database, but no email is ever sent. I also get the following error in the web server's error_log:

sendmail: fatal: cannot handle command-line recipients with -t

My mailer is Postfix 2.0.16, web server is Apache 1.3.27 with PHP 4.1.2, running on RedHat 7.3.

(EDIT: Added PHP version)
 Quote

Status: offline

Dirk

Site Admin
Admin
Registered: 01/12/02
Posts: 13073
Location:Stuttgart, Germany
Which method are you trying to use to send mails (mail, SMTP, or sendmail)? Did you try one of the others?

See $_CONF['mail_settings'] in config.php for the available options.

bye, Dirk
 Quote

Status: offline

racooper

Forum User
Junior
Registered: 03/13/04
Posts: 24
I'm using the default of "mail". Actually, I found the problem in my php.ini file. The sendmail_path directive is commented out and blank, and the default noted doesn't work with GeekLog:

; For Unix only. You may supply arguments as well (default: 'sendmail -t -i').
;sendmail_path = ''


I changed it to:
sendmail_path = '/usr/sbin/sendmail'
And it works. However, since I don't know if that will break other apps I have on this server, I'm changing GeekLog to use sendmail.

If you're on a hosting service and can't change your php.ini file, or the hosting service's file is default, you will have to use sendmail or smtp instead of the php mail functions. It might be good to note this in either config.php or in the setup instructions.
 Quote

Status: offline

Dirk

Site Admin
Admin
Registered: 01/12/02
Posts: 13073
Location:Stuttgart, Germany
Quote by racooper: It might be good to note this in either config.php or in the setup instructions.

The email options are a new feature in 1.3.9 (earlier versions always used PHP's mail() function). We'll probably come up with an FAQ entry for this soon ...

bye, Dirk
 Quote

Status: offline

racooper

Forum User
Junior
Registered: 03/13/04
Posts: 24
grumpy
I'm still having a problem with email going out from two different GL sites. When trying to register a user, everything seems to work until the system tries to send mail to the new user. For some reason that I can't determine, Geeklog is trying to send the message with a blank "from" address which is being rejected by several different mailservers (including the MS Exchange server at my office, and smtp-relay.tamu.edu). The error in the bounce messages to postmaster is either "553 5.1.3 ... Hostname required (in reply to MAIL FROM command)" or "553 Requested action not taken: mailbox name not allowed or chunk too large (in reply to MAIL FROM command)". sending to a user local to my webserver works just fine. I've tried using $_CONF['mail_settings']->'backend' as "mail" and "sendmail", and tried forcing sendmail_args to '-f '. $_CONF['site_mail'] for sendmail with no success.

I'm at a loss. I've been through the same thing on two different installations of Geeklog on two different domains (but hosted on the same server). What am I doing wrong?!?

Edit:
Further information: I activated the CUSTOM_mail function in lib-custom.php. Using this, I was able to send mail out. After checking the postfix logs on the mailserver, I was able to determine that using the 1.3.9 mail functions, the "from" address was being sent as <@> or <""@>, while using the CUSTOM_mail, the outgoing address was <apache@noidea.us> . I'm really not sure why the difference, but all that matters to me is that sending mail is working.
 Quote

Status: offline

Dirk

Site Admin
Admin
Registered: 01/12/02
Posts: 13073
Location:Stuttgart, Germany
Quote by racooper: After checking the postfix logs on the mailserver, I was able to determine that using the 1.3.9 mail functions, the "from" address was being sent as or , while using the CUSTOM_mail, the outgoing address was .

Yeah, this has been reported before - there seems to be a problem there somewhere.

So, "apache@noidea.us" is what you have for $_CONF['site_mail']? What's the name of your site, i.e. what do you have for $_CONF['site_name']? Please quote the exact line from your config.php.

bye, Dirk
 Quote

Status: offline

racooper

Forum User
Junior
Registered: 03/13/04
Posts: 24
$_CONF['site_mail'] = 'webmaster@noidea.us';
$_CONF['site_name'] = 'NoIdea.US';

Actually, "apache" is the user that apache httpd is running under. However, the email message, once received, shows:

From: NoIdea.US [SMTP:webmaster@noidea.us]

at least on MS Exchange. Quite strange, indeed.
 Quote

Michael B

Anonymous
I was having the same problem, and I fixed it by changing the code from:

function COM_mail( $to, $subject, $message, $from = '', $html = false, $priority = 0 )

to read:

function COM_mail( $to, $subject, $message, $from = 'admin@example.com', $html = false, $priority = 0 )

and now it's working.
 Quote

Status: offline

MacDog

Forum User
Newbie
Registered: 05/07/04
Posts: 3
I had the same problem and ended up finding it was due to how the $_CONF['site_mail'] was written. Under 1.3.8 I used (example):
$_CONF['site_mail'] = '&lt;email@net.adr&gt;'

1.3.9 seems to have changed this, and wants:
$_CONF['site_mail'] = 'email@net.adr'

After this change it's working again
 Quote

Status: offline

thedude

Forum User
Regular Poster
Registered: 12/28/02
Posts: 90
So what did you do MacDog? Michael B's solution or yours? Mind sharing? Also I hardcoded the email address in lib-common.php per the suggestion. No luck. This is strange. It works with the rest of the email process though. Like when I approved the user, the email get sent and received, etc. But not the registration.

Please help...

The Dude
 Quote

Anon

Anonymous
anyone? Help....
 Quote

All times are EST. The time is now 03:40 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content