NineChime forum

Furry stuff, oekaki stuff, and other stuff.

You are not logged in.

#1 07-08-2006 09:03:04

ponyhome
Member

"BBS Mailer Not Working"

I'm getting this message when I tried to register a test account.  When I approved the test account, the approval message never got to me.  I also have people complaining that password recovery isn't working.  Obvious answer is that mail isn't working on the hosting server.  Thing is, I've got scripts that I've written that are having no problem mailing notices, and phpBB is mailing notices from the same server.

Any suggestions where I should look to fix this?

Where is CUT_EMAIL defined?  I can't find it in any of the functions or in php.ini.  and the PHP website hasn't heard of it.  Everybody wants it, but nobody defines it.  Aha!  Wait, I think I found it in the "hacks" directory.  Okay, CUT_EMAIL is defined as '0' which shouldn't inhibit the Email.  Nuts.

Last edited by ponyhome (07-08-2006 09:56:14)

Offline

#2 07-08-2006 15:16:41

Waccoon
Administrator

Re: "BBS Mailer Not Working"

Does your server (PHP) log show any particular errors?  The board only says "BBS Mailer Not Working" if it attempts to call the mail() function and it returns FALSE.

Is there a possibility your server has flagged your oekaki as a potential spam source?  You can check this by putting a script to send e-mails in the oekaki folder.  I believe most servers track outgoing mail by path, not filename.

Offline

#3 07-08-2006 19:24:03

ponyhome
Member

Re: "BBS Mailer Not Working"

Well, I only have access to the HTTP logs, and no errors showed up there.  It seems unlikely that they'd identify one directory as a source of spam after less than six emails.  I did make a copy of the entire WP directory in a different place, and tried it again from there, but it made no difference, so the directory path doesn't seem to make a difference.

After testing, I do note that the MTA my host is using is Exim, which is reputed to have problems with php mail(), owing to the default Sendmail flags (supposedly, though as I said, my PHP mailer appears to be working -- the mail just seems to come from somewhere other than my domain, since this is a virtual server.)   The only apparent difference is that I don't use the "@" operator.  Red herring?

Addendum:
Okay, for an extra freaky twist to this, I just deleted a test account, and the rather snarky deletion message I wrote to myself went through.  Perhaps there is a sarcasm filter at work, and insufficiently insulting messages don't get through.  I think I'll look at that code side-by-side, now...

Addendum+1: Acceptance messages for registration are going through.  Password recovery still isn't, and as I said, attempts to register give a "Not Working" message, but none of the other mail functions return an error.  ???????????  The code looks exactly the same to me.  Perhaps it needs exorcism.

Addendum +2: just got a password recovery message, about five minutes delayed.  Okay, that's working.  Now I need to figure out what's different about the registration Email.  Out of curiousity, why IS an Email being sent out on registration when I've got the board set for Admin approval?  I think I see it.  Line 490, that If statement checks if approval is set to "no"  That check falls through, the Email is never sent, and because of that, $mail_sent is FALSE, and therefore the mail was not sent (matter of fact, it was never even composed.)  I don't have "Force" set, so I'm ALWAYS going to get that "Mailer Not Working" message.

Okay, Force and Approval are mutually exclusive, so it seems that the "force" test could go inside the "approval" conditional.
Let's try something:

============================================
$mail_sent = FALSE;
                if ($cfg['approval'] == 'no') {
                        // Send e-mail
                        $mail_subject = $cfg['op_title'].' '.$langop_verreg_title;
                        $mail = "{$langop_word_dear} {$username},\n\n{$langop_verreg_p1} {$cfg['op_title']} @ {$cfg['op_url']}. {$langop_verreg_p2}:\n\n{$cfg['op_url']}/functions.php?mode=Verify&vcode={$userpass1}&username=".urlencode($username)."\n\n{$langop_verreg_p3}\n\n{$langop_precover_p5}";
                        $mail_header = "From: \"OekakiPoteto Admin\" <{$cfg['op_email']}>\nX-Mailer: Wacintaki BBS\n";

                        if (CUT_EMAIL < 1) {
                                $mail_sent = @mail ($email, $mail_subject, $mail, $mail_header);
                        }

                        if (!$mail_sent) {
                                if ($cfg['approval'] == 'force') {
                                        // Auto-approve
                                        $theflags = 'G';
                                        if ($cfg['reg_draw'] == 'yes')
                                                $theflags .= 'D';
                                        if ($cfg['reg_anim'] == 'yes')
                                                $theflags .= 'M';
                                        if ($cfg['reg_upload'] == 'yes')
                                                $theflags .= 'U';

                                        $result = mysql_query ("UPDATE {$OekakiPoteto_MemberPrefix}oekaki SET usrflags='$theflags' WHERE usrname='$username'");
                                } else {
                                        // D'OH!
                                        report_err('Sorry, the BBS e-mailer isn\'t working. You\'ll have to wait for your application to be approved.');
                                }
                        }
                }

=====================================
Seem like that would work?  Actually, it could (maybe should) go inside the CUT_EMAIL test if I understand the function of CUT_EMAIL correctly.  Yes?

Last addendum:  I notice there's no message in the english.php to the effect of "Your registration has been submitted the the administrator for approval.  Once your application has been reviewed, you will be notified by Email."

Would that be a good thing?

Last edited by ponyhome (07-08-2006 21:46:34)

Offline

Board footer

Yep, still running PunBB
© Copyright 2002–2008 PunBB