Cypht - Lightweight open source webmail application written in PHP and JavaScript
-
This seems like a good addition to Cloudron as an alternative to Rainloop. It is already packaged with Docker as well.
https://github.com/jasonmunro/cypht-docker
https://hub.docker.com/r/sailfrog/cypht-docker/ -
I quite like the look of this and given how under developed every single open source webmail client it it'd be nice to have as many options to try out as possible.
-
Reading His page is hilarious.
"Cypht is not your father's webmail. Unless you are one of my daughters, in which case it is your father's webmail."
I like it, most open source webmail apps work and look like mid-2000s crap. (Looking at you SoGo, Rainloop, etc...) -
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