A big thanks goes to b1gMail founder Patrick Schlangen. He released b1gMail as freeware back then and since version 6 it was commercial. With version 7.4.1 the license is changed to GPL and all proprietary components were removed.
It is recommended to install the b1gMail developer copy on a local web server,
e.g. standard Apache/PHP/MariaDB on Linux or Wamp on Windows. Even better results
on Windows can be achieved with a WSL setup. If you use Docker, you can also
use our docker template in docker-dev
.
In order to install a development environment, proceed as follows:
- Clone the repository
- Go to
src/serverlib/
and copyconfig.default.inc.php
toconfig.inc.php
and copyversion.default.inc.php
toversion.inc.php
. - Remove the file
lock
insrc/setup/
- Open the folder
src
in your web browser, e.g.http://localhost/b1gMail/src/
- Follow the setup instructs
PHP 5.4 is minimum requirement. MariaDB as Database is recommended.
When pulling new changes from the server, you will need to update your database
structure in case it changed. In order to do so, you can use the tools/db_sync.php
script or log in to the ACP of your b1gMail development copy, go to "Tools" -> "Optimize"
and chose "Check structure". Let the ACP fix any issues it found.
You want to contribute to the b1gMail code? Great! In order to do so, it's probably the best idea to fork the b1gMail repository here and start creating your own commits. As soon as you feel the commit is mature and you would like to integrate it into the b1gMail code base, create a merge request to the main repository and we will review it.
- Adhere to the b1gMail coding style
- If your commit requires database structure changes, include the updated database
structure in the commit (you can export it using the
tools/db_struct.php
tool) - If your commit requires other DB changes (i.e. change values), include update code in the update script (it should be executed when updating to the next major version)
Its important to make a backup of serverlib/init.inc.php
first. Then upload the files from src to your b1gMail folder. After call /setup/update.php
.
Alternatively delete in serverlib the file version.inc.php
and rename version.default.inc.php
to version.inc.php
, upload tools/db_sync.php
and
call db_sync.php
(maybe you have to change the require path before). In both cases the setup folder must be deleted afterwards.
Open the serverlib/init.inc.php
, which you backed up. Copy the this value define('B1GMAIL_SIGNKEY', ''); //Here add signkey from serverlib/init.inc.php
to your serverlib/config.inc.php
. If you want still use the Toolbox from commercial version, copy these lines to serverlib/config.inc.php
:
define('TOOLBOX_SERVER', 'http://service.b1gmail.com/toolbox/');
define('UPDATE_SERVER', 'http://service.b1gmail.com/patches/');
define('SIGNATURE_SERVER', 'http://service.b1gmail.com/signatures/');
A lot of plugins will work, but they are maybe not compatible with PHP 8 and higher. Before upgrade check the compatibility first. b1gMail 7.4.1 itself is compatible with PHP 8 and higher.
More information: https://www.b1gmail.eu/
look at b1gMail Wiki.