Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Cypht - Lightweight open source webmail application written in PHP and JavaScript

Cypht - Lightweight open source webmail application written in PHP and JavaScript

Scheduled Pinned Locked Moved App Wishlist
54 Posts 17 Posters 23.8k Views 16 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • KubernetesK Kubernetes

    @robi I already tried with HOME, didn't help

    robiR Offline
    robiR Offline
    robi
    wrote on last edited by
    #33

    @Kubernetes hmm, try some debug set commands https://www.baeldung.com/linux/nginx-log-variable-output

    this was interesting too:
    https://www.baeldung.com/linux/nginx-config-environment-variables
    https://stackoverflow.com/questions/21866477/nginx-use-environment-variables

    or just stick them in a cyclic memory:2m
    https://adamtheautomator.com/nginx-logs/

    Conscious tech

    1 Reply Last reply
    0
    • KubernetesK Offline
      KubernetesK Offline
      Kubernetes
      App Dev
      wrote on last edited by
      #34

      @girish thanks for pointing me to Apache. I was able to get it running now. Next problem is the authentication.

      1 Reply Last reply
      2
      • girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #35

        If it has IMAP or SMTP auth, use the "email" addon. Like in roundcube - https://git.cloudron.io/cloudron/roundcube-app/-/blob/master/config.inc.php?ref_type=heads#L9

        1 Reply Last reply
        3
        • KubernetesK Offline
          KubernetesK Offline
          Kubernetes
          App Dev
          wrote on last edited by
          #36

          No luck today, now I just get an error from the App that Invalid auth configuration.

          robiR 1 Reply Last reply
          0
          • KubernetesK Kubernetes

            No luck today, now I just get an error from the App that Invalid auth configuration.

            robiR Offline
            robiR Offline
            robi
            wrote on last edited by
            #37

            @Kubernetes is that a typo in the start.sh?

            #sed -i "s/^imap_auth_tls=.*/imap_auth_tls=${CLOUDRON_EMAIL_IMAPS_PORT}/" /app/data/hm3.ini

            IMAP vs IMAPS

            Conscious tech

            KubernetesK 1 Reply Last reply
            0
            • robiR robi

              @Kubernetes is that a typo in the start.sh?

              #sed -i "s/^imap_auth_tls=.*/imap_auth_tls=${CLOUDRON_EMAIL_IMAPS_PORT}/" /app/data/hm3.ini

              IMAP vs IMAPS

              KubernetesK Offline
              KubernetesK Offline
              Kubernetes
              App Dev
              wrote on last edited by Kubernetes
              #38

              @robi I think this is okay. In the current state it is not used anyways, because after a change of the .ini a config generation php script needs to be run. So I have to move that to the Docker Image build process, because during runtime it is read-only...

              1 Reply Last reply
              0
              • KubernetesK Offline
                KubernetesK Offline
                Kubernetes
                App Dev
                wrote on last edited by Kubernetes
                #39

                Okay, here we go...

                • The Cypht App is using Apache2 to get served.
                • The Login (auth) still fails - I have no idea why.
                • The PHP Session caching seems to fail in addition.
                • The use of redis db doesn't work at the moment.

                Some Logs:

                [Wed Feb 07 07:51:10.118044 2024] [php:notice] [pid 19] [client 172.18.0.1:51058] Array\n(\n    [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n    [1] => Using file based user configuration\n    [2] => Using sapi: apache2handler\n    [3] => Request type: HTTP\n    [4] => Request path: /\n    [5] => TLS request: 0\n    [6] => Mobile request: 0\n    [7] => Page ID: home\n    [8] => Using Hm_Cache for cache\n    [9] => Redis connect failed\n    [10] => Memcached enabled but not supported by PHP\n    [11] => CACHE backend using: noop\n    [12] => TRANSLATION NOT FOUND :Cypht powered by Cloudron:\n    [13] => PHP version 8.1.2-1ubuntu2.14\n    [14] => Zend version 4.1.2\n    [15] => Peak Memory: 4096\n    [16] => PID: 19\n    [17] => Included files: 78\n)\n
                [Wed Feb 07 07:51:15.862828 2024] [php:notice] [pid 14] [client 172.18.0.1:37006] Array\n(\n    [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n    [1] => Using file based user configuration\n    [2] => Using sapi: apache2handler\n    [3] => Request type: HTTP\n    [4] => Request path: /\n    [5] => TLS request: 0\n    [6] => Mobile request: 0\n    [7] => Page ID: home\n    [8] => Using Hm_Cache for cache\n    [9] => Redis connect failed\n    [10] => Memcached enabled but not supported by PHP\n    [11] => CACHE backend using: noop\n    [12] => \nDebug Array\n(\n)\n\nResponse Array\n(\n)\n\n    [13] => Invalid IMAP auth configuration settings\n    [14] => Setting cookie: name: hm_msgs, lifetime: 0, path: /, domain: a100.XXXXXX.XXX, secure: , html_only 1\n    [15] => Redirecting to /\n    [16] => PHP version 8.1.2-1ubuntu2.14\n    [17] => Zend version 4.1.2\n    [18] => Peak Memory: 4096\n    [19] => PID: 14\n    [20] => Included files: 77\n)\n, referer: https://a100.XXXXXX.XXX/
                [Wed Feb 07 07:51:15.890047 2024] [php:notice] [pid 15] [client 172.18.0.1:37018] Array\n(\n    [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n    [1] => Using file based user configuration\n    [2] => Using sapi: apache2handler\n    [3] => Request type: HTTP\n    [4] => Request path: /\n    [5] => TLS request: 0\n    [6] => Mobile request: 0\n    [7] => Page ID: home\n    [8] => Using Hm_Cache for cache\n    [9] => Redis connect failed\n    [10] => Memcached enabled but not supported by PHP\n    [11] => CACHE backend using: noop\n    [12] => Deleting cookie: name: hm_msgs, lifetime: 1707288675, path: /, domain: a100.XXXXX.XXX, secure: , html_only 1\n    [13] => TRANSLATION NOT FOUND :Cypht powered by Cloudron:\n    [14] => PHP version 8.1.2-1ubuntu2.14\n    [15] => Zend version 4.1.2\n    [16] => Peak Memory: 4096\n    [17] => PID: 15\n    [18] => Included files: 78\n)\n, referer: https://a100.XXXXXX.XXX/
                [Wed Feb 07 07:51:20.097269 2024] [php:notice] [pid 16] [client 172.18.0.1:37028] Array\n(\n    [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n    [1] => Using file based user configuration\n    [2] => Using sapi: apache2handler\n    [3] => Request type: HTTP\n    [4] => Request path: /\n    [5] => TLS request: 0\n    [6] => Mobile request: 0\n    [7] => Page ID: home\n    [8] => Using Hm_Cache for cache\n    [9] => Redis connect failed\n    [10] => Memcached enabled but not supported by PHP\n    [11] => CACHE backend using: noop\n    [12] => TRANSLATION NOT FOUND :Cypht powered by Cloudron:\n    [13] => PHP version 8.1.2-1ubuntu2.14\n    [14] => Zend version 4.1.2\n    [15] => Peak Memory: 4096\n    [16] => PID: 16\n    [17] => Included files: 78\n)\n
                

                The Invalid IMAP auth configuration settings error appeared after I removed the 143 imap port from configuration and kept only 9993 for secure imap

                When adding 143 again to the hm3.ini I get this error when trying to login:

                [Wed Feb 07 08:01:27.837212 2024] [php:notice] [pid 16] [client 172.18.0.1:42946] Array\n(\n    [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n    [1] => Using file based user configuration\n    [2] => Using sapi: apache2handler\n    [3] => Request type: HTTP\n    [4] => Request path: /\n    [5] => TLS request: 0\n    [6] => Mobile request: 0\n    [7] => Page ID: home\n    [8] => Using Hm_Cache for cache\n    [9] => Redis connect failed\n    [10] => Memcached enabled but not supported by PHP\n    [11] => CACHE backend using: noop\n    [12] => \nDebug Array\n(\n    [0] => Connecting to tls://mail on port 143\n    [1] => Could not connect to the IMAP server\n    [2] => fsockopen errors #111. Connection refused\n)\n\nResponse Array\n(\n)\n\n    [13] => Unable to connect to the IMAP auth server mail\n    [14] => Setting cookie: name: hm_msgs, lifetime: 0, path: /, domain: a100.XXXXXX.XXX, secure: , html_only 1\n    [15] => Redirecting to /\n    [16] => PHP version 8.1.2-1ubuntu2.14\n    [17] => Zend version 4.1.2\n    [18] => Peak Memory: 4096\n    [19] => PID: 16\n    [20] => Included files: 77\n)\n, referer: https://a100.XXXXXX.XXX/
                
                1 Reply Last reply
                2
                • KubernetesK Offline
                  KubernetesK Offline
                  Kubernetes
                  App Dev
                  wrote on last edited by Kubernetes
                  #40

                  Heureka! I got it working now after putting 9993 as "normal/unsecure" imap server port config....
                  I will prepare the easy installer now and then some more people should check if it works correctly - be carefull and use a dummy mailbox - just in case it starts to run wild and delete emails or so!

                  During my own tests I found following issues:

                  • SMTP is not working (outgoing email)
                  • Profile is not saved - after logout the profile is gone

                  Link to Repo

                  1 Reply Last reply
                  5
                  • robiR Offline
                    robiR Offline
                    robi
                    wrote on last edited by
                    #41

                    Excellent, nice work, progress bit by bit!

                    Conscious tech

                    1 Reply Last reply
                    1
                    • SansGuidonS Offline
                      SansGuidonS Offline
                      SansGuidon
                      wrote on last edited by
                      #42

                      I'm interested in having this web mail as an alternative to the existing solutions in Cloudron App Store. Any help needed to package it?

                      About me / Now

                      andreasduerenA 1 Reply Last reply
                      1
                      • SansGuidonS SansGuidon referenced this topic on
                      • SansGuidonS SansGuidon

                        I'm interested in having this web mail as an alternative to the existing solutions in Cloudron App Store. Any help needed to package it?

                        andreasduerenA Offline
                        andreasduerenA Offline
                        andreasdueren
                        App Dev
                        wrote on last edited by
                        #43

                        @SansGuidon Looks like you can probably install it in a LAMP app

                        1 Reply Last reply
                        2
                        • SansGuidonS Offline
                          SansGuidonS Offline
                          SansGuidon
                          wrote on last edited by
                          #44

                          Good to know! I have to investigate then and maybe share the resulting full-install script with Cloudron community once working, as done for yt-dlp (https://gitea.zoemp.be/sansguidon/snippets/src/branch/main/cloudron/awesome-installs/yt-dlp.sh) even if ideally I would like to have it auto updated by Cloudron 😄

                          About me / Now

                          1 Reply Last reply
                          2
                          • fbartelsF Offline
                            fbartelsF Offline
                            fbartels
                            App Dev
                            wrote last edited by
                            #45

                            I am currently testing different projects that implement the EWS protocol and came across cypht. I have created a community app to easily install it on cloudron: https://ca.cloudron.io/app/cypht

                            necrevistonnezrN 1 Reply Last reply
                            3
                            • jdaviescoatesJ Offline
                              jdaviescoatesJ Offline
                              jdaviescoates
                              wrote last edited by
                              #46

                              Looking forward to giving this a try, thanks for packaging @fbartels !

                              I use Cloudron with Gandi & Hetzner

                              1 Reply Last reply
                              2
                              • fbartelsF fbartels

                                I am currently testing different projects that implement the EWS protocol and came across cypht. I have created a community app to easily install it on cloudron: https://ca.cloudron.io/app/cypht

                                necrevistonnezrN Offline
                                necrevistonnezrN Offline
                                necrevistonnezr
                                wrote last edited by
                                #47

                                @fbartels said:

                                I am currently testing different projects that implement the EWS protocol and came across cypht. I have created a community app to easily install it on cloudron: https://ca.cloudron.io/app/cypht

                                Great!
                                From the instructions: „Log in with your full Cloudron email address and your mailbox password.“
                                Which one is the mailbox password? An app password for mail clients doesn’t work.

                                fbartelsF 1 Reply Last reply
                                1
                                • necrevistonnezrN necrevistonnezr

                                  @fbartels said:

                                  I am currently testing different projects that implement the EWS protocol and came across cypht. I have created a community app to easily install it on cloudron: https://ca.cloudron.io/app/cypht

                                  Great!
                                  From the instructions: „Log in with your full Cloudron email address and your mailbox password.“
                                  Which one is the mailbox password? An app password for mail clients doesn’t work.

                                  fbartelsF Offline
                                  fbartelsF Offline
                                  fbartels
                                  App Dev
                                  wrote last edited by
                                  #48

                                  @necrevistonnezr said:

                                  An app password for mail clients doesn’t work

                                  Hmm.. I cannot reproduce this. For me the login works with my users password or an app password with the mail client scope.

                                  necrevistonnezrN 1 Reply Last reply
                                  0
                                  • fbartelsF fbartels

                                    @necrevistonnezr said:

                                    An app password for mail clients doesn’t work

                                    Hmm.. I cannot reproduce this. For me the login works with my users password or an app password with the mail client scope.

                                    necrevistonnezrN Offline
                                    necrevistonnezrN Offline
                                    necrevistonnezr
                                    wrote last edited by
                                    #49

                                    @fbartels
                                    When setting up the app password, expiry was set to immediately. I can’t explain why…

                                    IMG_3729.jpeg

                                    fbartelsF 1 Reply Last reply
                                    0
                                    • necrevistonnezrN necrevistonnezr

                                      @fbartels
                                      When setting up the app password, expiry was set to immediately. I can’t explain why…

                                      IMG_3729.jpeg

                                      fbartelsF Offline
                                      fbartelsF Offline
                                      fbartels
                                      App Dev
                                      wrote last edited by
                                      #50

                                      @necrevistonnezr ah but that explains why it rejected the password

                                      1 Reply Last reply
                                      1
                                      • jdaviescoatesJ Offline
                                        jdaviescoatesJ Offline
                                        jdaviescoates
                                        wrote last edited by
                                        #51

                                        Changelog: Enable the fancy login page and allow loading images from external sources by default.

                                        I can't find where the option to enable external sources is enabled.

                                        But I'd also prefer it to be how most clients seem to do it: each message having the option to enable images

                                        I use Cloudron with Gandi & Hetzner

                                        fbartelsF 1 Reply Last reply
                                        0
                                        • jdaviescoatesJ jdaviescoates

                                          Changelog: Enable the fancy login page and allow loading images from external sources by default.

                                          I can't find where the option to enable external sources is enabled.

                                          But I'd also prefer it to be how most clients seem to do it: each message having the option to enable images

                                          fbartelsF Offline
                                          fbartelsF Offline
                                          fbartels
                                          App Dev
                                          wrote last edited by
                                          #52

                                          @jdaviescoates This is something you can configure inside /app/data/.env.

                                          Overall, Cypht is definitely built for power users and strictly prioritizes security over out-of-the-box convenience. For example, responses are plain text by default, the timezone defaults to UTC, and settings have to be explicitly saved by re-entering your user password (otherwise they revert on your next login). While they recently launched a very shiny new website, the underlying documentation is still a bit sparse.

                                          Because of this "security first" design, Cypht intentionally blocks all external images by default. To change this behavior so that you at least get prompted to load them per email, you need to toggle the image loading setting.

                                          For context, you can see how this restriction is explicitly handled in the source code here:
                                          cypht-org/cypht - app.php lines 555-570

                                          Keep in mind that the code change linked above only alters the default behavior for fresh installations. If you upgraded from a previous version, your user profile will still carry over the old, stricter setting, so you'll want to manually update it in your configuration.

                                          jdaviescoatesJ 1 Reply Last reply
                                          1

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search