Cypht - Lightweight open source webmail application written in PHP and JavaScript
-
Despite the last stable release being two years old, this project is very actively developed in dev-master (https://github.com/jasonmunro/cypht) and the Docker imaged referenced by @nebulon is regularly updated as well.
Some of the modules are interesting as well (https://cypht.org/modules.html) :
- 2fa: TOTP based 2 factor authentication using the Google Authenticator mobile app
- api_login: Login using an API to provide single sign on ability
contacts: Contact management. Requires at least one contact backend module set to be enabled - ldap_contacts: Support for contacts stored in LDAP
- dynamic_login: Allows user to authenticate against a list of popular mail services, or to auto-discover the services for the specified E-mail address
- feeds: RSS/ATOM feed support
- imap: IMAP E-mail account support
- imap_folders: IMAP E-mail folder management support
pop3: POP3 E-mail account support - profiles: Profiles to set reply-to, name, and signature to associated E-mail accounts
- saved_searches: Save and re-run searches easily
- tags: Tag content for easy searching/filtering. Not yet functional
@jdaviescoates was looking for tags...?
-
@necrevistonnezr said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:
tags: Tag content for easy searching/filtering. Not yet functional
I was indeed. Shame they aren't yet functional. But at least they are working on them!
-
@jdaviescoates it's impressive it's on the list, and poking them on it may raise visibility and chance of a present for the holidays.
-
Some older screenshots from 2016: https://unencumberedbyfacts.com/2016/09/08/cypht-webmail-screen-shots/
Some interesting comparisons: https://wikisuite.org/Why-Cyrus-IMAP-and-Cypht -
-
Install Cypht app (d'uh)
-
Open the Filemanager for the app and navigate to
cypht / hm3.ini
-
On line 55 change the value to
auth_type = IMAP
-
In the 'IMAP Authentication' section (from line 77 onwards), amend the IMAP server settings to suit your server. I have used the Cloudron one - simples.
; IMAP Authentication ; ------------------- ; If auth_type is set to IMAP, configure the IMAP server to authenticate against ; with the following settings, otherwise these are ignored. ; ; This is just a label used in the UI. It can be set to anything imap_auth_name=Cloudron ; The hostname or IP address of the IMAP server to authenticate to imap_auth_server=mysupercoolcloudron.server ; The port the IMAP server is listening on. imap_auth_port=993 ; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to ; true to enable TLS connections. If you want to use IMAP STARTTLS, do NOT ; enable this. This is only for TLS enabled sockets (typically on port 993). imap_auth_tls=true
- On line 157 change the value to
user_config_type=file
This way no db is needed and settings are kept in files.
- Make sure that the location for where cypht will place the files exists. For example, on line 165, change the value to
user_settings_dir=/app/data/hm3/users
Line 173
attachment_dir=/app/data/hm3/attachments
Line 181
app_data_dir=/app/data/hm3/app_data
-
Save the file and close the Filemanager
-
Open the Terminal for the app and change to the cypht directory:
cd ../data/cypht/
-
Run the following command to update the config for cypht:
sudo php ./scripts/config_gen.php
-
Get out of the Terminal and restart the app
-
Login using an appropriate account that authenticates against the IMAP server you added to the config.
Enjoy and let me know how you get on
-
-
@3246 said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:
- Install Cypht app (d'uh)
Thanks!
You left out one juicy part - did you like install this⦠into the LAMP app? Is there any special folder to use for the source (as per https://cypht.org/install.html)? -
@necrevistonnezr ah, yes I just followed the install guide on their website. It's pretty straight forward I found: https://cypht.org/install.html
The approach is slightly more complex than downloading an archive and pointing it to a database but actually pretty neat and quick.
-
Is there a demo of Cypht somewhere? I can't find any on their site.
-
@3246 said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:
@necrevistonnezr ah, yes I just followed the install guide on their website. It's pretty straight forward I found: https://cypht.org/install.html
The approach is slightly more complex than downloading an archive and pointing it to a database but actually pretty neat and quick.
- Installed Lamp App
- Downloaded the Code to
/app/data/
and unzipped, cd to the unzipped dir - Tried to run
composer install
, getting an error[LogicException] No lockfile found. Unable to read locked packages
- Run
composer diagnose
: Getting the error
Checking pubkeys: FAIL Missing pubkey for tags verification Missing pubkey for dev verification Run composer self-update --update-keys to set them up
- run
composer self-update --update-keys
, I have to open https://composer.github.io/pubkeys.html to find the latest keys (WTF?!) - copy and paste the public key, get an error
[ErrorException] file_put_contents(/root/.config/composer/keys.dev.pub): failed to open stream: No such file or directory
Grrrrr....
-
@necrevistonnezr said in Cypht - Lightweight open source webmail application written in PHP and JavaScript:
copy and paste the public key, get an error [ErrorException] file_put_contents(/root/.config/composer/keys.dev.pub): failed to open stream: No such file or directory
set the HOME=/app/data env var to make this work
LAMP app and terminal session should do that automagically IMO @staff
-
-
I started to create a package in my Repo
- It is not yet working
- PHP needs to be activated in nginx
- The hm3.ini is very basic and needs improvement (missing SMTP config, Database Config, LDAP Config)
- there might be more issues when PHP is running
- easy installer will not be ready before the package is usable