HelpSpot Help Desk Software | HelpSpot Blog | HelpSpot Support

Inbound mail error



I’m evaluating HelpSpot and and really impressed so far. I’ve hit a stumbling block though:

Each time I send a mail to the system it results in the following message in the error log:

Input array does not match ?: SELECT DISTINCT HS_Request.*, HS_Category.sCategory, HS_luStatus.sStatus, CONCAT_WS(’ ',HS_Request.sFirstName,HS_Request.sLastName) AS fullname FROM HS_luStatus,HS_Request LEFT OUTER JOIN HS_Cat

I haven’t altered the mySQL tables.

I’ve tried setting the mailbox in question to both POP3 and IMAP, same error with each.

I’m set to use the PHP mail function.

Let me know what other settings or configs will be helpful to know about in troubleshooting this issue.



Hi Steven,

The mail is imported though right?

This error is actually related to using the live refresh feature. It’s harmless, other than that it adds lines to the error log. This is fixed in the next release.


Hi Ian,

The mail isn’t showing up in the queue actually, and no auto replies are sent.

Which log does php_imap write to? Apache? Is that the correct log to check for more hints?



There would be items in the error log, just not the one you posted. It would be an error type of ‘imap’ or ‘mail’. Try turning on tasks.php debugging in Admin->Settings->Email integration. The go to tasks.php via your browser, it’s in the root of your HelpSpot installation. See if any errors are reported.


Thanks Ian,

I turned on tasks.php debugging, went to tasks.php in browser and waited 60 seconds with “waiting for [server name]” showing in status bar but nothing on the page.

No browser tabs were displaying the workspace page at the time, so I can’t see how live refresh could be related to this error. When I refreshed the errors page I saw this with a time stamp corresponding to my attempt to view tasks.php:

Input array does not match ?: SELECT DISTINCT HS_Request.*, HS_Category.sCategory, HS_luStatus.sStatus, CONCAT_WS(’ ',HS_Request.sFirstName,HS_Request.sLastName) AS fullname FROM HS_luStatus,HS_Request LEFT OUTER JOIN HS_Cat

I closed the tasks.php tab, restarted httpd and mysqld and tried again to visit tasks.php in a browser and this time got only:

Connecting to:

(real domain changed to ‘obfuscated’ for this post to deflect spambots)

Incoming mail now shows up in the queue, but as of 6 minutes later, no auto reply as been received at the gmail account from which I sent the test mail (the auto reply is enabled in Admin --> Mailboxes --> Mailbox-in-question)

In case it is related, when I try the ‘send test mail’ at the bottom of the mailbox edit page, it takes 63 seconds (According to the page load timer in the firefox extension “FasterFox”) but it is eventually sent and recieved by gmail. (this is a test box with no public facing services running, so load on the server is always very low.)

By the way, when I run a ‘locate’ or a ‘find’ for ‘cron’ I don’t find any files that look to be related to helpspot. Should a cron have been installed by the installer or is there some other mechanism which fires off tasks.php?



Ah, that could be your problem with importing. You need to manually add the cron item to call tasks.php every few minutes. Details are at the bottom of the installation page:

That should fix up the importing. As for the auto-reply I’m not sure why it’s taking that long. One thing you could try is running it off of an SMTP server instead of using the built in php. Those settings are in Admin->Settings->Email integration.

Perhaps your sendmail has some issues or is somehow misconfigured? It’s odd that it’s sometimes going out. If the system detects that it can’t send it there may be an error in the log of type ‘Email Auto Respond’.


Sooo embarrased. I never read beyond step 5a. Somehow my brain managed to ignore the red fonted “Note that there are still more steps below” Pardon for the time wasting.

I hadn’t tried the smtp server option. I was mistakenly assuming it was for a local smtp server, which I don’t want to have to babysit, but in clicking on it I see that it is to send mail through any smtp server.

I’ll set up the crons, try smtp instead of php mail, and will let you know how it goes.

I’ll also try to stop bugging you about problems resulting from my own failure to RTFM. :slight_smile:



No problem at all Steve. As you can guess by the red text you’re not the only person to miss that step. Once people get into the interface they never seem to check back. I suppose the order could be switched but it doesn’t make a lot of sense (in terms of ordering) to me to setup the cron before the application is installed.

Yep the smtp option works well. Actually in some ways it’s even better because unlike PHP/Sendmail using SMTP actual allows HelpSpot to see if an error occurred. So if the mail isn’t sent usually the smtp server lets HelpSpot know and in turn HelpSpot leaves a note in the request history and pops up a warning that the mail didn’t go out.

No worries, bug away!


Hi Ian,

The order-of-events of the install-howto make sense. Users (even smart ones) just plain fail to read stuff even when they mean to read it. It’s a conundrum and a mystery.

So, I got the smtp setup instead of the php mailer and the test mail from the mailbox edit page works ‘instantly.’ So progress on that front.

Also set up a cron to run tasks.php every two mins.

Test mails aren’t getting into the queue and auto replies aren’t going out.

Cron is mailing this problematic report with each attempt (note: i’ve not opened tasks.php in an editor):
Date: Tue, 18 Jul 2006 15:04:00 -0700
Message-Id: 200607182204.k6IM401h028670@localhost.localdomain
From: root@localhost.localdomain (Cron Daemon)
To: root@localhost.localdomain
Subject: Cron root@localhost /var/www/html/support/helpspot/tasks.php
X-Cron-Env: <SHELL=/bin/bash>
X-Cron-Env: <PATH=/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <MAILTO=root>
X-Cron-Env: <HOME=/>
X-Cron-Env: <LOGNAME=root>

/var/www/html/support/helpspot/tasks.php: line 1: ?php: No such file or directory
/var/www/html/support/helpspot/tasks.php: line 2: 3334: command not found
/var/www/html/support/helpspot/tasks.php: line 3: //Copyright: No such file or directory
/var/www/html/support/helpspot/tasks.php: line 5: /bin: is a directory
/var/www/html/support/helpspot/tasks.php: line 6: print: command not found
/var/www/html/support/helpspot/tasks.php: line 7: print: command not found
/var/www/html/support/helpspot/tasks.php: line 8: print: command not found
/var/www/html/support/helpspot/tasks.php: line 9: print: command not found
/var/www/html/support/helpspot/tasks.php: line 10: print: command not found
/var/www/html/support/helpspot/tasks.php: line 12: print: command not found
/var/www/html/support/helpspot/tasks.php: line 13: print: command not found
/var/www/html/support/helpspot/tasks.php: line 24: syntax error near unexpected token )' /var/www/html/support/helpspot/tasks.php: line 24:^L$@°{åÉF^Nà^O9x^WDÛñVõ÷ÓÕÝß÷½á^Z¬7U_ÿTWW
`>^]/°I®^]^SÌù^^­QUO^^ì2+ =ç¬ödª~F^Lkø’

Which leaves me thinking “What have I done (or not done) now?” :slight_smile:

Your thoughts?



Looks like you’re just calling the file directly, but it’s not self executable. You need to pass it to PHP (note to self, make this clear in manual). So:

/path/to/php -f /var/www/html/support/helpspot/tasks.php

The path to the php command line client is usually /usr/bin/php or /usr/local/bin/php something like that.


I was wondering about that. Thanks, I’ll give it a whirl.



oh, btw…

run the cron as root or as the www user or either?