mirror of
https://github.com/cypht-org/cypht.git
synced 2026-04-26 05:26:00 +03:00
[GH-ISSUE #668] Cannot login to dashboard despite good credentials and good database connection #436
Labels
No labels
2fa
I18N
PGP
Security
Security
account
advanced_search
advanced_search
announcement
api_login
authentication
awaiting feedback
blocker
bug
bug
bug
calendar
config
contacts
core
core
devops
docker
docs
duplicate
dynamic_login
enhancement
epic
feature
feeds
framework
github
github
gmail_contacts
good first issue
help wanted
history
history
imap
imap_folders
inline_message
installation
keyboard_shortcuts
keyboard_shortcuts
ldap_contacts
mobile
need-ssh-access
new module set
nux
pop3
profiles
pull-request
question
refactor
release
research
saved_searches
smtp
strategic
tags
tests
themes
website
wordpress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/cypht#436
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MrNonoss on GitHub (Jan 29, 2023).
Original GitHub issue: https://github.com/cypht-org/cypht/issues/668
💬 Question
Hi all,
I have been struggling for two days making cypht work. Maybe someone here can point me to the right direction.
My goal is to get a working docker version, with Caddy webserver, PHP8, redis and an Sqlite database.
I know there's already a docker version, but pretty outdated and not really functional.
ISSUE
I got:
I have not:
SETUP
Docker is working fine on a MacOS host (my testing device), and I have been able to go once behind the login screen, but cannot reproduce.
In the hm3.ini, I have setup session, authentication and settings to DB and I followed all the instructions here
LOGS
Safari logs from developper tools
`` Summary URL: http://localhost/mail-debug/ URL: http://localhost/mail-debug/?page=message_list&list_path=unread Status: 200 OK Source: Network Address: ::1:80Request
POST /mail-debug/
Referer: http://localhost/mail-debug/
Origin: http://localhost
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15
Redirect Response
303 See Other
Location: ?page=message_list&list_path=unread
Date: Sun, 29 Jan 2023 18:13:38 GMT
Request
GET /mail-debug/ HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Cookie: phpMyAdmin=1b33791664103dbe49fe274ec78904ad; pmaUser-1=43Okg0TLsm3w8HMdDMhEKUFLMcP1nfXu6ctGOEkkZAVItQlsxaEyO%2FnVN8ojounc; pma_lang=en
Accept-Language: en-GB,en;q=0.9
Upgrade-Insecure-Requests: 1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.2 Safari/605.1.15
Referer: http://localhost/mail-debug/
Accept-Encoding: gzip, deflate
Connection: keep-alive
Response
HTTP/1.1 200 OK
Transfer-Encoding: Identity
Content-Type: text/html; charset=UTF-8
Date: Sun, 29 Jan 2023 18:13:38 GMT
X-Powered-By: PHP/8.1.15RC1
Server: Caddy
``
PHP logs when login
``2023-01-29 19:13:38 NOTICE: PHP message: Array
2023-01-29 19:13:38 172.24.0.2 - 29/Jan/2023:18:13:38 +0000 "POST /index.php" 303
2023-01-29 19:13:38 (
2023-01-29 19:13:38 [0] => Using Hm_DB_Session with Hm_Auth_DB
2023-01-29 19:13:38 [1] => Using DB user configuration
2023-01-29 19:13:38 [2] => Using sapi: fpm-fcgi
2023-01-29 19:13:38 [3] => Request type: HTTP
2023-01-29 19:13:38 [4] => Request path: /mail-debug/
2023-01-29 19:13:38 [5] => TLS request: 0
2023-01-29 19:13:38 [6] => Mobile request: 0
2023-01-29 19:13:38 [7] => Page ID: home
2023-01-29 19:13:38 [8] => CACHE backend using: noop
2023-01-29 19:13:38 [9] => Connecting to dsn: sqlite:/var/lib/hm3/cypht.db
2023-01-29 19:13:38 [10] => Setting cookie: name: hm_id, lifetime: 0, path: /mail-debug/, domain: localhost, secure: , html_only 1
2023-01-29 19:13:38 [11] => Setting cookie: name: hm_session, lifetime: 0, path: /mail-debug/, domain: localhost, secure: , html_only 1
2023-01-29 19:13:38 [12] => LOGGED IN
2023-01-29 19:13:38 [13] => CACHE: miss for "feed_read_uids" using noop
2023-01-29 19:13:38 [14] => CACHE: saving "nux_dev_news" using noop
2023-01-29 19:13:38 [15] => Redirecting to ?page=message_list&list_path=unread
2023-01-29 19:13:38 [16] => PHP version 8.1.15RC1
2023-01-29 19:13:38 [17] => Zend version 4.1.15RC1
2023-01-29 19:13:38 [18] => Peak Memory: 8192
2023-01-29 19:13:38 [19] => PID: 8
2023-01-29 19:13:38 [20] => Included files: 78
2023-01-29 19:13:38 )
2023-01-29 19:13:38 NOTICE: PHP message: Array
2023-01-29 19:13:38 172.24.0.2 - 29/Jan/2023:18:13:38 +0000 "GET /index.php" 200
2023-01-29 19:13:38 (
2023-01-29 19:13:38 [0] => Using Hm_DB_Session with Hm_Auth_DB
2023-01-29 19:13:38 [1] => Using DB user configuration
2023-01-29 19:13:38 [2] => Using sapi: fpm-fcgi
2023-01-29 19:13:38 [3] => Request type: HTTP
2023-01-29 19:13:38 [4] => Request path: /mail-debug/
2023-01-29 19:13:38 [5] => TLS request: 0
2023-01-29 19:13:38 [6] => Mobile request: 0
2023-01-29 19:13:38 [7] => Page ID: message_list
2023-01-29 19:13:38 [8] => CACHE backend using: noop
2023-01-29 19:13:38 [9] => TRANSLATION NOT FOUND :Cypht:
2023-01-29 19:13:38 [10] => PHP version 8.1.15RC1
2023-01-29 19:13:38 [11] => Zend version 4.1.15RC1
2023-01-29 19:13:38 [12] => Peak Memory: 8192
2023-01-29 19:13:38 [13] => PID: 7
2023-01-29 19:13:38 [14] => Included files: 81
2023-01-29 19:13:38 )
``
hm3.ini
``; -----------------------------------------------------------------------------
; General settings
; -----------------------------------------------------------------------------
; Session Type
; ------------
; Sessions are how the server maintains your logged in state. Cypht supports
; standard PHP sessions, as well as its own completely independent session
; system that uses memcached or a database for storage. In order to use
; database sessions, the database must be correctly configured in the "DB
; Support" section and the hm_user_session table must be created. In order to
; use Memcached sessions, the memcached server must be correctly configured
; in the "Memcached Support" section. In order to use Redis session, the
; Redis server must be configured in the "Redis Support" section.
;
; Valid values for this setting:
;
; PHP Standard PHP session handlers
; DB Custom database based sessions
; MEM Custom Memcached based sessions
; REDIS Custom Redis based sessions
; custom Create your own session class. See the modules/site/lib.php file for
; more info
;
session_type=DB
; Authentication Type
; -------------------
; This setting defines how Cypht will authenticate your username and password
; when you login. If you want to use a database it must be correctly configured
; in the "DB Support" section and the hm_user table must be created. There are
; 3 PHP cli scripts to help manage database users in the scripts/ directory (
; create_account.php, delete_account.php, and update_password.php). If you want
; to authenticate against an IMAP server, you must setup the imap_auth_* settings
; below. If you want to authenticate against a POP3 server, you must setup the
; pop3_auth_* settings below. If you want to authenticate against an LDAP server,
; you must setup the ldap_auth_* settings. Finally, if you want to let users
; pick from a list of popular mail services or try to auto-discover a mail
; system, set this to dynamic and make sure the dynamic_login module set is
; enabled in the "Module Sets" section of this file.
;
; Valid values for this setting:
;
; DB Authenticate against the database
; LDAP Authenticate against an LDAP server
; IMAP Authenticate using an IMAP server
; POP3 Authenticate using a POP3 server
; dynamic Let the user choose from a list, or try to auto discover the mail
; services based on the email domain
; custom Create your own auth class. See the modules/site/lib.php file for
; more info
;
auth_type=DB
; LDAP Authentication
; -------------------
; If auth_type is set to LDAP, configure the LDAP server to authenticate against
; with the following settings, otherwise these are ignored.
;
; The hostname or IP address of the LDAP server to authenticate to
ldap_auth_server=localhost
; The port the LDAP server is listening on.
ldap_auth_port=389
; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections.
ldap_auth_tls=
; The "base dn" of the LDAP server
ldap_auth_base_dn="example,dc=com"
; 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=localhost
; The hostname or IP address of the IMAP server to authenticate to
imap_auth_server=localhost
; The port the IMAP server is listening on.
imap_auth_port=143
; 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=
; POP3 Authentication
; -------------------
; if auth_type is set to POP3, configure the POP3 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
pop3_auth_name=localhost
; The hostname or IP address of the POP3 server to authenticate to
pop3_auth_server=localhost
; The port the POP3 server is listening on.
pop3_auth_port=110
; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections.
pop3_auth_tls=
; Default SMTP Server
; -------------------
; You can set a default SMTP server for all Cypht users. Authentication will be
; done with the users login credentials, so this only makes sense if you are
; using POP3 or IMAP for authentication. Leave these values blank to disable a
; default SMTP server, otherwise fill in the required values below
;
; This is just a label used in the UI. It can be set to anything
default_smtp_name=
; The hostname or IP address of the SMTP server
default_smtp_server=
; The port the SMTP server is listening on.
default_smtp_port=
; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections.
default_smtp_tls=
; If your SMTP service does not require authentication, you can disable it
; by setting the following to true.
default_smtp_no_auth=
; Settings Storage
; ----------------
; Cypht supports 3 methods for saving user settings between logins. File based
; settings, database table or custom implementation. To store settings in a
; database, it must be configured in the "DB Support" section and the
; hm_user_settings table must be created. To store settings on the filesystem,
; the user_settings_dir must be created and the webserver software must be able
; to write to it. For custom implementations, see Hm_User_Config_File.
;
; Valid values for this setting:
;
; file Store user settings in the filesystem
; DB Store user settings in a database
; custom Store user settings via custom implementation. Specify class name
; after colon, e.g. custom:Custom_User_Config
;
user_config_type=DB
; Settings Location
; -----------------
; If user_config_type is set to file, this must be set to an existing directory
; that the webserver software can read and write to. If settings storage is set
; to DB, this is ignored. It should not be inside the webserver document root.
user_settings_dir=/var/lib/hm3/users
; Attachment Location
; -------------------
; Cypht needs a temporary place to store attachments that are to be sent with
; an outgoing message. This folder must exist and be writable by the webserver
; software. It should not be inside the webserver document root.
attachment_dir=/var/lib/hm3/attachments
; Application Data Location
; -------------------------
; Some Cypht module sets have their own ini files that need to be readable by
; the webserver software, but not writable, and definitely not inside the
; webserver document root.
app_data_dir=/var/lib/hm3/app_data
; Disable origin check
; --------------------
; To help protect against CSRF attacks, Cypht checks origin headers to confirm
; that the source and target origin domains match. If you are using proxies this
; could create a problem making it impossible to login. Change this to true to
; disable the origin check.
disable_origin_check=true
; Admin Users
; ----------
; You can define a comma delimited list of admin users that Cypht will grant
; special rights to. Currently this only enables the "create account" link in
; the account module set that provides a form to create a new account. This is
; only used if the auth_type is set to DB. Leave this blank if you don't want
; to define any admin users, or are using IMAP or POP3 authentication.
admin_users=
; Cookie Domain
; -------------
; By default Cypht uses the server name used in the request to determine
; the domain name to set the cookie for. Configurations that use a reverse
; proxy might need to define the domain name used for cookies. Leave this
; blank to let Cypht automatically determine the domain. You can also use
; the special value of "none" to force Cypht to NOT set the cookie domain
; property at all. This is not recommended unless you know what you are
; doing!
cookie_domain=
; Cookie Path
; -------------
; By default Cypht uses the request URI to determine the cookie path to set
; the cookie for. Configurations that use mod_rewrite might need to define
; the path used for cookies. E.g. /cypht/embedded?page=compose will set path
; to /cypht/embedded/ which won't send the cookies back to the server. In that
; case set cookie_path=/cypht/. Leave this blank to let Cypht automatically
; determine the path. You can also use the special value of "none" to force
; Cypht to NOT set the cookie path property at all. This is not recommended
; unless you know what you are doing!
cookie_path=
; Outbound Email Domain
; ----------------------
; Default domain used for outbound email addresses when using IMAP auth and
; users don't login with a full email address. Users can customize this with
; the profiles module which will override this default
default_email_domain=
; Auto-Create Profile
; -------------------
; When a user logs in and they have only 1 IMAP server and 1 SMTP server, and
; no configured profiles - enabling this option will auto-create a profile for
; them. Email and reply-to addresses will use the default_email_domain if
; set, otherwise it will fallback to the domain Cypht is hosted on.
autocreate_profile=
; Redirect After Login
; --------------------
; You can login directly to any page in Cypht by going to the correct url before
; logging in, but that is not very user-friendly. To redirect users to a url
; after login, add the url arguments below (everything in the url after, but
; including, the question mark). You must use double quotes around the value
; otherwise it will cause an ini parsing error. To redirect users after login
; to the combined unread view you would use:
;
; redirect_after_login="?page=message_list&list_path=unread"
redirect_after_login="?page=message_list&list_path=unread"
; Application Name
; ----------------
; This label is used in the UI to reference the program - you can change it to
; "Your awesome webmail" to replace the Cypht name used in various places.
app_name=Cypht
; Force Mobile UI
; ---------------
; Cypht will detect mobile devices and display a mobile optimized UI. If you want
; to aways use this UI regardless of device, set this to true
always_mobile_ui=
; Default Language
; ----------------
; Users can select from available interface languages on the site settings page.
; This sets the default for a user who has not done so. Valid values are 2 character
; langauge codes that have matching language definitions in the language/ folder.
default_language=en
; JavaScript Compression
; ----------------------
; When the configuration script is run, all JavaScript files are concatenated
; and optionally compressed. To compress the content, define a command and its
; options below. Cypht does not come with compresson software, so you must
; install and configure that separately. Leave blank or set to false to disable
; external compression. Compression software must be able to handle ES6.
;
; Example:
; js_compress='uglifyjs.terser -c -m --verbose --warn'
;
js_compress=false
; CSS Compression
; ---------------
; When the configuration script is run, all CSS files are concatenated and
; optionally compressed. To compress the content, define a command and its
; options below. Cypht does not come with compresson software, so you must
; install and configure that separately. Leave blank or set to false to disable
; external compression.
;
; Example:
; css_compress='java -jar /usr/local/lib/yuicompressor-2.4.8.jar --type css'
;
css_compress=false
; Caching Server Support
; ---------------------
; Cypht can use Redis or Memcache to improve performance, as well as to store
; user sessions. Configure Redis or Memcached below and Cypht will
; automatically use them for caching. All data cached for a user in either
; system is encrypted. Currently, the feeds, POP3, and IMAP modules will use
; the configured cache. If both Redis and Memcached are configured, Redis will
; be used for the cache.
;
; If you want to use the user session as a cache, uncomment the line below and
; set to true. THIS IS NOT RECOMMENDED. Cypht uses parallel requests to the
; server, and using the session as a cache is likely to cause race conditions
; and integrity issues. If you are running Cypht in an "embedded" mode with
; only one email source, this option is less likely to be a problem.
; allow_session_cache=false
; Redis Support
; -------------
; Configure Redis details below to use it for caching
enable_redis=false
redis_server=127.0.0.1
redis_port=6379
redis_index=1
redis_pass=
redis_socket=/tmp/sock/redis.sock
; Memcached Support
; -----------------
; Configure Memcached details below to use it for caching
enable_memcached=false
memcached_server=127.0.0.1
memcached_port=11211
; If you need SASL authentication for memcached, set the following to true
; and add the username and password to authenticate with
memcached_auth=false
memcached_user=
memcached_pass=
; Allow Long Sessions
; -------------------
; Cypht logins only last as long as the browser is open. Closing the browser,
; or moving to a new network, will cause you to be logged out. This setting
; provides users with a "stay logged in" option during login that will set the
; sesison lifetime to a default of 30 days, and disable the IP address check.
;
; USE WITH CAUTION SINCE THIS DISABLES SOME SESSION PROTECTIONS.
;
; Specifically:
;
; - Session cookies stay active after a browser restart making them more
; susceptible to snooping
; - The browser "fingerprint" was use to help protect against session hijacking
; includes the client's IP. With this option enabled a client IP can change
; mid-session and it won't log them out
allow_long_session=false
; Set the session lifetime in days. Only applies if allow_long_session is set to
; true, and a user checks the box to "stay logged in" during login.
long_session_lifetime=30
; Browser Encryption Options
; --------------------------
; Cypht can use the Forge JavaScript encryption library to encrypt AJAX
; responses and data stored in browser local storage. Enabling either one of
; these options causes the Forge JavaScript library to be included. This adds
; about 70KB to the page size (when gzipped).
; Use AES encryption for AJAX responses. Set to true to enable, leave blank or
; set to false to disable.
encrypt_ajax_requests=
; Use AES encryption for data stored in the browser local storage. Set to true
; to enable, or leave blank or set to false to disable.
encrypt_local_storage=
; Allow client IP changes
; -----------------------
; By default Cypht will log you out if your client IP address changes. This is
; an extra layer of protection against session hijacking, but it's not uncommon
; for your client IP to change. Change this to true if you want to disable this
; check
disable_ip_check=false
; Allow remote image sources
; --------------------------
;
; WARNING: Using this feature could leak information to external sources.
;
; By default, Cypht will not allow external images to be loaded when viewing an
; HTML formatted email message. A Content Security Policy header limits images
; sources to "self" only and the message content is filtered to remove any external
; resource. If you really want the ability to view external images in an email,
; you first need to change the following setting to true. When viewing an HTML
; formatted message, you will now have a link before the message body called "Allow
; Images" that will reload the message part with external images visible.
allow_external_image_sources=true
;
; Single server mode
; ------------------
; This setting restricts Cypht to only using a single email source (POP3 or
; IMAP) and the default SMTP server defined in this file. It modifies the UI to
; remove the ability to add other email sources, and removes the password
; restriction when saving data between logins. You must use either IMAP or POP3
; authentication for this setting to be enforced, and auth server will be the
; single email source users have access to. If you enable this after users
; have saved any settings, they will be lost (or if you disable it after they
; have saved any settings). WARNING: USER SETTINGS SAVED TO THE SERVER WILL NOT
; BE ENCRYPTED WITH THIS ENABLED
single_server_mode=false
; Integration options
; -------------------
; Cypht does a few things to make it more secure by default, but these features
; can make it difficult to integrate Cypht into 3rd party software. Specifically,
; Cypht disables PHP "super globals", and sets a restrictive PHP "open basedir"
; setting, tweaks PHP ini settings to increase security, and uses a browser
; "fingerprint" to improve session security. You can disable each with the
; following options:
; Don't empty PHP super globals
disable_empty_superglobals=false
; Don't apply open basedir restrictions
disable_open_basedir=true
; Don't tweak ini settings
disable_ini_settings=false
; Don't use a browser fingerprint
disable_fingerprint=false
; You can create your own custom authentication and session classes using the
; site module set, however you might want those classes located somewhere else
; outside of the Cypht code base. By setting session_type and auth_type to custom,
; you can control what class is used with the following settings
; auth_class=
; session_class=
; -----------------------------------------------------------------------------
; DB Support
; -----------------------------------------------------------------------------
; Database Support
; ----------------
; Cypht can use a database for 3 different purposes: authentication, sessions,
; and user settings. Each requires the following settings to be configured and
; the correct table to be created. CREATE TABLE SQL statements for MySQL and
; Postgresql are below.
;
; Connection type. Can be "host" to connect to a hostname, or "socket" to
; connect to a unix socket.
db_connection_type=socket
; Database host name or ip address. If db_connection_type is set to "socket",
; this value is ignored
db_host=127.0.0.1
; Database port. Only needed if your database is running on a non-standard
; port
db_port=
; If db_connection_type is set to "socket", this should be the filesystem
; location of the unix socket file. If db_connection_type is set to "host"
; this value is ignored.
db_socket=/var/lib/hm3/cypht.db
; Name of the database with the required tables
db_name=cypht.db
; User to connect to the database with
db_user=
; Password to connect to the database with
db_pass=
; Database type. can be any supported PDO driver ; (http://php.net/manual/en/pdo.drivers.php)
db_driver=sqlite
; DB Sessions
; -----------
; If your session_type is set to DB, the following table must exist in the DB
; defined above, and the db user must have read-write access to it:
;
; Postgresql:
; CREATE TABLE hm_user_session (hm_id varchar(250) primary key not null, data text, date timestamp);
;
; MySQL or SQLite:
; CREATE TABLE hm_user_session (hm_id varchar(180), data longblob, date timestamp, primary key (hm_id));
; DB Authentication
; -----------------
; If your auth_type is set to DB, the following table must exist in the DB
; defined above, and the db user must have read-write access to it:
;
; Postgresql:
; CREATE TABLE hm_user (username varchar(255) primary key not null, hash varchar(255));
;
; MySQL or SQLite:
; CREATE TABLE hm_user (username varchar(250), hash varchar(250), primary key (username));
; DB Settings
; -----------
; If your user_config_type is set to DB, the following table must exist in the
; DB defined above, and the db user must have read-write access to it:
;
; Postgresql:
; CREATE TABLE hm_user_settings (username varchar(250) primary key not null, settings text);
;
; MySQL or SQLite:
; CREATE TABLE hm_user_settings(username varchar(250), settings longblob, primary key (username));
; -----------------------------------------------------------------------------
; Modules
; -----------------------------------------------------------------------------
; Module Sets
; -----------
; Cypht uses module sets to separate functionality in the program. Module sets
; can be enabled and disabled independently by commenting out or uncommenting
; the assignments below. Add a new assignment to enable your own module sets.
; Core
; ----
; Handles page layout, login/logout, and the default settings pages. This set
; is required.
modules[]=core
; Contacts
; -------
; Contact support. This module requires that at least one "backend" contacts
; module be enabled (ldap_contacts, gmail_contacts, or local_contacts). You
; can enable all the backends you want to support.
modules[]=contacts
; Local contact support. Simple, locally stored contacts backend
modules[]=local_contacts
; LDAP contact support. Use an LDAP server to store contacts. This module
; uses its own ini file in modules/ldap_contacts/. This file must be edited
; and moved to your app_data_dir to configure LDAP access.
; modules[]=ldap_contacts
; Gmail contact support. Read-only support for Gmail contacts. Only available
; if you have a Gmail account enabled that uses OAuth2 authentication
; modules[]=gmail_contacts
; Feeds
; -----
; RSS/ATOM feed support
modules[]=feeds
; POP3
; ----
; POP3 email account support
; modules[]=pop3
; IMAP
; ----
; IMAP email account support. If you want to use OAuth2 over IMAP (currently
; only supported by Gmail and Outlook.com), you will need to edit the oauth2.ini
; file in modules/imap/, and move it to your app_data_dir location.
modules[]=imap
; 2 factor authentication
; -----------------------
; This module enables 2 factor authentication using TOTP (compatible with
; Google Authenticator). You must edit the ini file in modules/2fa/ to
; configure a shared secret, then move that file to your app_data_dir.
modules[]=2fa
; SMTP
; ----
; Send outbound email using SMTP servers
modules[]=smtp
; Account
; ------
; UI features for admins to create accounts, and for users to update passwords
; (when using the built-in DB authentication)
modules[]=account
; Idle timer
; ---------
; Controls idle time and automatic logout
modules[]=idle_timer
; Desktop notifications
; ---------------------
; Enable desktop notifications for new messages
modules[]=desktop_notifications
; Calendar
; -------
; Basic calendar
modules[]=calendar
; Themes
; ------
; Change the UI using CSS
modules[]=themes
; NUX
; ---
; Friendly new user experience. Quickly add common email services, and view
; development updates
modules[]=nux
; Developer
; ---------
; For development, provides resources and installation details. Only available
; in "debug mode"
modules[]=developer
; Github
; ------
; Github repository tracking. This module has its own ini file located in
; modules/github/. You must edit this file, and move it to your app_data_dir
; to establish communication with github.
; modules[]=github
; reCAPTCHA
; ---------
; Use the reCAPTCHA server on login. This module has its own ini file in
; modules/recaptcha/. You must edit this file, and move it to the location
; defined in app_data_dir to gain access to the WordPress notification API.
; modules[]=recaptcha
; WordPress
; ---------
; WordPress.com notifications. This module has its own ini file in
; modules/wordpress/. You must edit this file, and move it to the location
; defined in app_data_dir to gain access to the WordPress notification API.
; modules[]=wordpress
; History
; -------
; Simple list of messages read since login
modules[]=history
; Saved searches
; --------------
; Save and re-run searches easily
modules[]=saved_searches
; Advanced search
; ---------------
; Enable the advanced search form
modules[]=advanced_search
; Message highlighting
; --------------------
; Create custom rules to highlight messages in lists with different colors
modules[] = highlights
; NASA
; ----
; Access the NASA APOD API content
; modules[]=nasa
; Profiles
; --------
; Profiles to set reply-to, name, and signature to associated email accounts
modules[]=profiles
; Inline message
; --------------
; View messages inline in a reading pane instead of on a new page
modules[]=inline_message
; IMAP folders
; -----------
; Support for adding/renaming/deleting folders in IMAP accounts
modules[]=imap_folders
; Keyboard Shortcuts
; ------------------
; Enables configurable keyboard shortcuts for navigations and actions
modules[]=keyboard_shortcuts
; Sieve Filters
; ------------------
; Enables configurable Sieve based IMAP filters
; modules[]=sievefilters
; Site
; ----
; Site specific overrides. Used to control other module sets without hacking
; the code.
; modules[]=site
; Dynamic login
; -------------
; Allows user to authenticate against a list of popular mail services, or to
; auto-discover the services for the specified email address. The auth_type
; setting must be set to "dynamic", otherwise this module set does not do
; anything
; modules[]=dynamic_login
; API login
; --------
; Allows an API based login that returns a JSON response containing the session
; and hm_id values needed to create a login session. You will need to set the
; api_login_key value to something unique and include that in the POST request.
; modules[]=api_login
; api_login_key=
; Recover settings
; ----------------
; When using IMAP or POP3 authentication, if a user's password is changed, we
; can't decrypt the existing user settings. This module detects that situation
; and provides a page where a user can enter their old and new passwords to
; recover their previous settings.
; modules[]=recover_settings
; Hello World
; -----------
; Example module set with lots of comments
; modules[]=hello_world
; -----------------------------------------------------------------------------
; User Defaults
; All of these settings can be changed by users, but you can uncomment and set
; the default behavior using the following options. This will only effect new
; users or ones that have never saved their settings.
;
; Per source time limits have valid values of:
; -1 day
; -1 week
; -2 weeks
; -4 weeks
; -6 weeks
; -6 months
; -1 year
; -5 years
;
; Per source maximums can be from 1 to 1000
; -----------------------------------------------------------------------------
; If set to true, passwords for email accounts will never be saved between logins
; Defaults to false
; default_setting_no_password_save=false
; Number of messages per page when viewing IMAP folders
; Defaults to 20
; default_setting_imap_per_page=20
; Amount of IMAP message structure detail on the message view page
; Defaults to full structure
; default_setting_simple_msg_parts=false
; Next and Previous emails on the message view page
; Defaults to full structure
; default_setting_pagination_links=true
; Show icons for each IMAP message part type
; Defaults to true
; default_setting_msg_part_icons=true
; Prefer text parts when viewing a message
; Defaults to false
; default_setting_text_only=false
; Per source max for the combined sent view
; Defaults to 20
; default_setting_sent_per_source=20
; Per source time limit for the combined sent view
; Defaults to 1 week
; default_setting_sent_since='-1 week'
; Display source icons in message lists
; Defaults to true
; default_setting_show_list_icons=true
; Redirect to this page on login
; Defaults to none
; default_setting_start_page=none
; Don't prompt when deleting something
; Defaults to false
; default_setting_disable_delete_prompt=false
; Hide icons in the folder list
; Defaults to false
; default_setting_no_folder_icons=false
; Source max for the all email combined view
; Defaults to 20
; default_setting_all_email_per_source=20
; Per source time limit for the all email combined view
; Defaults to 1 week
; default_setting_all_email_since='-1 week'
; Per source time limit for the everything combined view
; Defaults to 1 week
; default_setting_all_since='-1 week'
; Per source max for the everything combined view
; Defaults to 20
; default_setting_all_per_source=20
; Per source max for the unread combined view
; Defaults to 20
; default_setting_unread_per_source=20
; Per source max for the flagged combined view
; Defaults to 20
; default_setting_flagged_per_source=20
; Per source time limit for the flagged combined view
; Defaults to 1 week
; default_setting_flagged_since='-1 week'
; Per source time limit for the unread combined view
; Defaults to 1 week
; default_setting_unread_since='-1 week'
; Timezone for date displays
; Defaults to UTC
; default_setting_timezone='UTC'
; Message list format style
; Defaults to email client style
; default_setting_list_style='email_style'
; Interface language
; Defaults to en (English)
; default_setting_language='en'
; Hide new news feed items from the unread combined view
; Defaults to false
; default_setting_unread_exclude_feeds=false
; Per source max for news feeds
; Defaults to 20
; default_setting_feed_limit=20
; Per source time limit for news feeds
; Defaults to 1 week
; default_setting_feed_since='-1 week'
; Toggle between plain text or HTML formatted mail on the compose page
; Defaults to 0 (plain text)
; default_setting_smtp_compose_type=0
; BCC a copy of outbound mail to the sender
; Defaults to false
; default_setting_smtp_auto_bcc=false
; UI theme
; Defaults to the default white one ("White Bread")
; default_setting_theme='default'
; Hide WordPress notifications from the unread combined view
; Defaults to false
; default_setting_unread_exclude_wordpress=false
; Time limit for WordPress notifications
; Defaults to 1 week
; default_setting_wordpress_since='-1 week'
; Hide Github notifications from the unread combined view
; Defaults to false
; default_setting_unread_exclude_github=false
; Max per source for Github notifications
; Defaults to 20
; default_setting_github_limit=20
; Per source time limit for Github notifications
; Defaults to 1 week
; default_setting_github_since='-1 weeks'
; Display message details inline from the message list
; Defaults to false
; default_setting_inline_message=false
; Enable keyboard shortcuts
; Defaults to false
; default_setting_enable_keyboard_shortcuts=1
``
I tried to tweak several options from the hm3.ini with no luck.
If something rings a bell or sound odd with new pair of eyes, please let me know ^^
Other questions:
2023-01-29 21:12:58 172.24.0.2 - 29/Jan/2023:20:12:58 +0000 "GET /index.php" 200
2023-01-29 21:12:58 (
2023-01-29 21:12:58 [0] => Using Hm_DB_Session with Hm_Auth_DB
2023-01-29 21:12:58 [1] => Using DB user configuration
2023-01-29 21:12:58 [2] => Using sapi: fpm-fcgi
2023-01-29 21:12:58 [3] => Request type: HTTP
2023-01-29 21:12:58 [4] => Request path: /
2023-01-29 21:12:58 [5] => TLS request: 1
2023-01-29 21:12:58 [6] => Mobile request: 0
2023-01-29 21:12:58 [7] => Page ID: settings
2023-01-29 21:12:58 [8] => CACHE backend using: noop
2023-01-29 21:12:58 [9] => Connecting to dsn: sqlite:/var/lib/hm3/cypht.db
2023-01-29 21:12:58 [10] => LOGGED IN
2023-01-29 21:12:58 [11] => TRANSLATION NOT FOUND :Attachment Chunks:
2023-01-29 21:12:58 [12] => TRANSLATION NOT FOUND :Farsi:
2023-01-29 21:12:58 [13] => TRANSLATION NOT FOUND :Estonian:
2023-01-29 21:12:58 [14] => TRANSLATION NOT FOUND :Indonesian:
2023-01-29 21:12:58 [15] => TRANSLATION NOT FOUND :Too Dark:
2023-01-29 21:12:58 [16] => TRANSLATION NOT FOUND :Don't flag a message as read on open:
2023-01-29 21:12:58 [17] => TRANSLATION NOT FOUND :Default message sort order:
2023-01-29 21:12:58 [18] => TRANSLATION NOT FOUND :Unable to generate 2 factor authentication QR code:
2023-01-29 21:12:58 [19] => PHP version 8.1.15RC1
2023-01-29 21:12:58 [20] => Zend version 4.1.15RC1
2023-01-29 21:12:58 [21] => Peak Memory: 8192
2023-01-29 21:12:58 [22] => PID: 68
2023-01-29 21:12:58 [23] => Included files: 77
2023-01-29 21:12:58 )
``
Thank you.
@marclaporte commented on GitHub (Feb 1, 2023):
Yes, https://github.com/jasonmunro/cypht/archive/master.zip is the latest version.
@kk6mrp commented on GitHub (Feb 2, 2023):
Everything looks good from a configuration point of view as far as I can tell, just make sure permissions are good on the database.
For mine, permissions look like so:
@marclaporte commented on GitHub (Feb 6, 2023):
Related discussion: https://gitter.im/cypht-org/community?at=63dc3df21bbc096730bb8b25
@marclaporte commented on GitHub (Feb 24, 2023):
@MrNonoss "got SMTP to register by using the STARTTLS or unencrypted, while TLS worked fine for IMAP"
Bookmarks have changed because of https://blog.gitter.im/2023/02/13/gitter-has-fully-migrated-to-matrix/ so new source:
https://app.gitter.im/#/room/#cypht-org_community:gitter.im/$iPgeHCIzI0ZblEtKbIjW6kBVvWC_VVu2ygOt0I9ij0Y