HiveMail – Email Hosting Script

Ever heard of HiveMail? We’ll it’s a program which lets you run your own email server and provide your users with email addresses on your domain. This program uses PHP and MySQL to manage emails.
It’s a bit complicated to install, but once you get is installed, it runs smoothly.
There’s a pretty complete guide provided which explains how to install the whole thing.
I bought this program a while back and tried to install it on a domain for test.
After following the detailed steps in the guide, the Fata error I got was:
Fatal error: Cannot redeclare hash_update() in /home/*****/public_html/****/hivemail/includes/functions.php on line 58
Well, after a lot of research, the last solution was to comment out the whole “hash_update()” function in the “functions.php” file.
To comment out this function, just open the “functions.php” file which is located in “includes” folder under Hivemail root, and find : function hash_update(… and add double slashes ” // ” on the begining of each line of the function.
That solves this error and you can continue the installation.
After having installed the program, I used the PIPE method for the email gateway and everything seemed to be OK.
But when I tried to send emails to my hivemail address; the emails were getting bounced back. and the message said:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

pipe to |/home/****/hivemail_process.php
generated by [email protected]
local delivery failed

The following text was generated during the delivery attempt:
—— pipe to |/home/****/hivemail_process.php
generated by [email protected] ——

Error in argument 1, char 3: option not found
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args…]
-a              Run interactively
-C              Do not chdir to the script’s directory
-c <path>|<file> Look for php.ini file in this directory
-n              No php.ini file will be used
-d foo[=bar]    Define INI entry foo with value ‘bar’
-e              Generate extended information for debugger/profiler
-f <file>        Parse <file>.  Implies `-q’
-h              This help
-i              PHP information
-l              Syntax check only (lint)
-m              Show compiled in modules
-q              Quiet-mode.  Suppress HTTP Header output.
-s              Display colour syntax highlighted source.
-v              Version number
-w              Display source with stripped comments and whitespace.
-z <file>        Load Zend extension <file>.

—— This is a copy of the message, including all the headers. ——
I could send emails FROM the hivemail program, but I was not able to recieve any mails.
After Googling a while, here’s the solution I found, and IT WORKS!!
on hivemail install guide it says:
“Next, you will need to set the default address for your domain, so
all email not sent to known POP3 accounts is routed to HiveMail?. To
do this, login to cPanel and click the ‘Mail’ link from the main
page. Click ‘Default Address’ on the resulting page. Then click ‘Set
Default Address’.
On the next page, choose the domain that you wish to route HiveMail?
emails from. (Usually, you will want to set this to,
unless you are planning to offer [email protected] or
something similar.)
Type a pipe (the | character) followed by the to the
hivemail_process.php file that you uploaded above, so it looks
similar to this:

but in fact you need to do |/usr/bin/php -q /path/to/your/hivemail_process.php
So, after installing, you may want to add some skins, to do so; create a “skins” folder inside you hivemail installation root and upload each skin’s folder there, and in the admin control panel, go to skin manager and import the “.skn” file.
That’s all about how to install and run HiveMail. If you need more information, don’t hesitate to post in the comments.
More is available on

21 replies on “HiveMail – Email Hosting Script”

I want to buy a copy of hivemail but i cant anyone with a license to sell. do you have an extra copy or the patches from hive2?

Hi zack, You don’t need vBulltin, HiveMail can and should run independently. There might be some issue with your version. Please provide more detailed info so I can assist you.

Please, I just installed Hivemail and I’m encountering the same problem you elaborated on. The first advice worked perfectly right but the last one which is to do with the receiving email is not working. Please can you throw more lights on that part for me? Pleaseeeeeeeeeeeee!!!!!!!
Looking forward to hearing from you soon.
Thank you

@adjei:please note that you need to supply the path to your php executable in this string: |/usr/bin/php -q /path/to/your/hivemail_process.php (the first part), and that might be different based on your host. So first of all you need to know about you BIN directory and PHP executable location.
Let me know once you checked and fixed that.

I also have another issue and since you are the don in Hivemail, I know u can help me out. When someone send me an email, I also receives a whole lots of other information which i think shouldn’t have been visible to the receiver. I have attached a copy for your review. Thank you so much for all the help you’ve been offering to me. I’m so grateful. Waiting for your reply.
Subject: bggvf
Date Sent: 11-09-2008 10:28 AM
Received: from by with smtp ()
(envelope-from ) id for ; Sun, 09 Nov 2008 04:28:04 -0600
Received: (qmail invoked by ); 9 Nov 2008 10:28:04 -0000
Received: from [] by via HTTP; Sun, 09 Nov 2008 02:28:04 PST
X-mailer: YahooMailWebService/
Date: Sun, 9 Nov 2008 02:28:04 -0800 (PST)
Mime-version: 1.0
Content-type: multipart/alternative; boundary=””

@Adjei: I’m happy that you got it running! The message headers you recieved are typical headers! Some of them are required for an email to travel and some are optional, as well as some info are to make sure that the email is not filtered out by spam filters. So these are OK! If you have (for example) a Yahoo Mail account, and look for the “Full Headers” option, you’ll see that almost all of these information is available to you as a reciever!
By the way, for privacy and security reasons, I’ve to remove the email headers you sent in the comments above; as these information should not be available publicly.

Thank you so much Gi for such a quick respond. this is very wonderful. But I’m a bit confused here. The headers that you said should not be made publicly visible or available to others are what I was talking about. When someone sends me a mail, it propagates all those information and send them together with the message. is there a way for me to remove some of the headers if not all. Pleaseeeeee!!!!

@Adjei: These headers are to be communicated only between the sender and the reciepient, and that’s the way it works! you can modify the email sender script to block some headers, but that’s not recommended.

Hi i got the Hihemail loadet on my server but the thung is i canot installed any one can hellp me..
This is what i get when i try to install..
Cannot redeclare hash_update() in /home/zonaimen/public_html/email/includes/functions.php on line 58
Please help..

I found your blog on google and read a few of your other posts. I just added you to my Google News Reader. Keep up the good work. Look forward to reading more from you in the future.

This is old and outdated. Can be downloaded everywherre!! 6 years old bullshit. Editor and other things broken.
Don’t run this. Bad for your server. Also see their website:
Want to get the real baby?
Apply for a trial here: [email protected]

For Fatal error: Cannot redeclare hash_update() in /home/*****/public_html/****/hivemail/includes/functions.php on line 58
problem simply write if exists function (‘function name’) before the hash_update function in functions.php
hurrrey the probem solved

For Fatal error: Cannot redeclare hash_update() in /home/*****/public_html/****/hivemail/includes/functions.php on line 58
problem simply write if exists function (‘function name’) before the hash_update function in functions.php
hurrrey the problem solved

This does not solve the problem:
For Fatal error: Cannot redeclare hash_update() in /home/*****/public_html/****/hivemail/includes/functions.php on line 58
problem simply write if exists function (‘function name’) before the hash_update function in functions.php
hurrrey the problem solved
What should this line look like?:
function hash_update($search, $info, $type = null) {

Comments are closed.