.env.example
APP_2FA_SECRET = yi83bfbwbbiwwewnklw
APP_2FA_SIMPLE = true
APP_NAME = Cypht
DEBUG_LOG = false
DEFAULT_SMTP_NO_AUTH = false
DEFAULT_SMTP_PORT = 3045
// ...
App Config

Configure your Cypht application's core settings. Customize the basic behavior, display preferences, and essential features for an optimal user experience.

General Settings
Name of your application
Comma-separated list of admin user emails
Default language code (e.g., en, fr, de)
Force mobile UI for all devices
Enable single server mode

Comma-separated list of enabled modules

Enable fancy login page design
API login key for authentication
Path to CA certificates for Windows (get from https://curl.se/ca/cacert.pem)
Session
Choose how to handle user sessions
Custom session class name (if using custom session type)
Enable session caching
Allow extended session lifetime
Lifetime for long sessions in days
Authentication
Select the authentication method for your application
Custom authentication class name (if using custom auth type)
LDAP server hostname or IP address
LDAP server port (default: 389)
Enable secure connection to LDAP server
LDAP base distinguished name for authentication
LDAP attribute for user identification
IMAP authentication server name
IMAP server hostname or IP address
IMAP server port (default: 993)
Enable secure connection to IMAP server
Sieve configuration host for IMAP
Enable TLS for Sieve connections
User
Choose how to store user configuration data
Directory path for storing user settings (file mode only)
Directory path for storing email attachments
Default domain for email addresses
Automatically create user profiles on first login
Default name for SMTP server
Default SMTP server hostname
Default SMTP server port
Enable TLS for default SMTP
Disable authentication for default SMTP
Security
Disable origin check for enhanced security (recommended)
Disable IP address checking
Disable browser fingerprinting
Disable emptying PHP superglobal arrays
Disable open_basedir PHP restriction
Disable custom PHP INI settings
Allow loading images from external sources
Domain for application cookies
Path for application cookies
Encrypt all AJAX requests for enhanced security
Encrypt data stored in browser local storage
Cache
Custom cache class name (leave empty for default)
Enable Redis caching
Redis server hostname or IP
Redis server port
Redis database index
Redis authentication password
Redis socket path (if using Unix socket)
Enable Memcached caching
Memcached server hostname or IP
Memcached server port
Enable Memcached authentication
Memcached authentication username
Memcached authentication password
User Interface
Enable JS compression for enhanced security (recommended)
Enable CSS compression for enhanced security (recommended)
Comma-separated list of JS dependencies to exclude
Custom imports for web workers
Redirect
Redirect after login
Logging System
Enable Debug Logging
Choose how to handle user sessions
Absolute path on the server where Cypht writes its log file.
Database Config

Configure your Cypht application's database settings. Set up the database connection parameters to ensure smooth data management and retrieval.

Database
Choose how to connect to the database
Database server hostname or IP address
Database server port number
Name of the database to connect to
Database management system
Username for database authentication
Password for database authentication
2FA Config

Configure your Cypht application's two-factor authentication settings. Set up the 2FA parameters to enhance security and protect your application from unauthorized access.

2FA
Secret key for two-factor authentication (32 characters)
Enable simplified two-factor authentication mode
Carddav Config

Configure your Cypht application's carddav settings. Set up the carddav parameters to enhance security and protect your application from unauthorized access.

Carddav
CardDAV server hostname or IP address
Dynamic Login Config

Configure your Cypht application's dynamic login settings. Set up the dynamic login parameters to enable flexible and secure user authentication.

Dynamic Login
Enable dynamic host configuration
Enable dynamic host subdomain support
Enable dynamic user configuration
Enable dynamic SMTP subdomain support
Enable dynamic mail subdomain support
GitHub Config

Configure your Cypht application's GitHub settings. Set up the GitHub parameters to add Github notification support to Cypht.

Github
GitHub OAuth application client ID
GitHub OAuth application client secret
OAuth callback URL for GitHub authentication
GitHub OAuth authorization endpoint
GitHub OAuth token exchange endpoint
LDAP Config

Configure your Cypht application's LDAP settings. Set up the LDAP parameters to enable integration with LDAP for authentication and address book.

LDAP
LDAP server hostname or IP address
LDAP server port (default: 389)
Enable secure connection to LDAP server
LDAP base distinguished name for searches
LDAP attribute to search for usernames
Enable LDAP authentication for users
LDAP bind username for authentication
LDAP bind password for authentication
LDAP object class for user searches
LDAP UID attribute name
Enable read/write access to LDAP directory
OAuth2 Config

Configure your Cypht application's OAuth2 settings. Set up the OAuth2 parameters to enable integration with OAuth2 for authentication and other features.

Gmail
Gmail OAuth application client ID
Gmail OAuth application client secret
OAuth callback URL for Gmail authentication
Gmail OAuth authorization endpoint
Gmail OAuth token exchange endpoint
Gmail OAuth refresh token endpoint
Outlook
Outlook OAuth application client ID
Outlook OAuth application client secret
OAuth callback URL for Outlook authentication
Outlook OAuth authorization endpoint
Outlook OAuth token exchange endpoint
Outlook OAuth refresh token endpoint
Office 365
Office 365 OAuth application client ID
Office 365 OAuth application client secret
OAuth callback URL for Office 365 authentication
Office 365 OAuth authorization endpoint
Office 365 OAuth token exchange endpoint
Office 365 OAuth refresh token endpoint
Recaptcha Config

Configure your Cypht application's reCAPTCHA settings. Set up the reCAPTCHA parameters to enable integration with reCAPTCHA for authentication and other features.

Recaptcha
reCAPTCHA secret key for server-side verification
reCAPTCHA site key for client-side integration
Wordpress Config

Configure your Cypht application's WordPress settings. Set up the WordPress parameters to enable integration with WordPress for authentication and other features.

Wordpress
WordPress OAuth application client ID
WordPress OAuth application client secret
OAuth callback URL for WordPress authentication
Notice
Please note that neither allow_session_cache & cache_class are configurable here, as this is not recommended and intended for advanced use only. Check app.php for more info.
Preview

Review your generated .env file before downloading or copying to clipboard

          ADMIN_USERS=

          ALLOW_EXTERNAL_IMAGE_SOURCES=true ALLOW_LONG_SESSION=false ALLOW_SESSION_CACHE=false

          ALWAYS_MOBILE_UI=false

          APP_2FA_SECRET= APP_2FA_SIMPLE=false APP_NAME=Cypht

          ATTACHMENT_DIR=/var/lib/hm3/attachments

          AUTH_CLASS= AUTH_TYPE=DB

          AUTO_CREATE_PROFILE=false

          CACHE_CLASS=false

          CARD_DAV_SERVER=http://localhost:5232

          COOKIE_DOMAIN= COOKIE_PATH=

          CSS_COMPRESS=false

          CYPHT_MODULES=core,contacts,local_contacts,feeds,imap,smtp,account,idle_timer,calendar,themes,nux,developer,history,saved_searches,advanced_search,highlights,profiles,inline_message,imap_folders,keyboard_shortcuts,tags

          DB_CONNECTION_TYPE=host DB_DRIVER=mysql DB_HOST=127.0.0.1 DB_NAME=cypht_db DB_PASS= DB_PORT=3306
          DB_SOCKET=/var/lib/mysqld/mysqld.sock DB_USER=root

          DEBUG_LOG=false

          DEFAULT_EMAIL_DOMAIN= DEFAULT_LANGUAGE=en DEFAULT_SETTING_ALL_EMAIL_PER_SOURCE=20
          DEFAULT_SETTING_ALL_EMAIL_SINCE=-1 week DEFAULT_SETTING_ALL_PER_SOURCE=20 DEFAULT_SETTING_ALL_SINCE=-1 week
          DEFAULT_SETTING_DISABLE_DELETE_PROMPT=false DEFAULT_SETTING_DRAFT_PER_SOURCE=20 DEFAULT_SETTING_DRAFT_SINCE=-1
          week DEFAULT_SETTING_ENABLE_COLLECT_ADDRESS_ON_SEND=false DEFAULT_SETTING_ENABLE_KEYBOARD_SHORTCUTS=false
          DEFAULT_SETTING_ENABLE_SIEVE_FILTER=false DEFAULT_SETTING_ENABLE_SNOOZE=false DEFAULT_SETTING_FEED_LIMIT=20
          DEFAULT_SETTING_FEED_SINCE=-1 week DEFAULT_SETTING_FLAGGED_PER_SOURCE=20 DEFAULT_SETTING_FLAGGED_SINCE=-1 week
          DEFAULT_SETTING_GITHUB_LIMIT=20 DEFAULT_SETTING_GITHUB_SINCE=-1 week DEFAULT_SETTING_IMAP_PER_PAGE=20
          DEFAULT_SETTING_INLINE_MESSAGE=false DEFAULT_SETTING_INLINE_MESSAGE_STYLE=right
          DEFAULT_SETTING_JUNK_PER_SOURCE=20 DEFAULT_SETTING_JUNK_SINCE=-1 week DEFAULT_SETTING_LANGUAGE=en
          DEFAULT_SETTING_LIST_STYLE=email_style DEFAULT_SETTING_MSG_PART_ICONS=true
          DEFAULT_SETTING_NO_FOLDER_ICONS=false DEFAULT_SETTING_NO_PASSWORD_SAVE=false
          DEFAULT_SETTING_PAGINATE_LINKS=true DEFAULT_SETTING_REVIEW_SENT_EMAIL=true DEFAULT_SETTING_SEARCH_SINCE=-1
          week DEFAULT_SETTING_SENT_PER_SOURCE=20 DEFAULT_SETTING_SENT_SINCE=-1 week
          DEFAULT_SETTING_SHOW_LIST_ICONS=true DEFAULT_SETTING_SIMPLE_MSG_PARTS=false
          DEFAULT_SETTING_SMTP_AUTO_BCC=false DEFAULT_SETTING_SMTP_COMPOSE_TYPE= DEFAULT_SETTING_SNOOZED_PER_SOURCE=20
          DEFAULT_SETTING_SNOOZED_SINCE=-1 week DEFAULT_SETTING_START_PAGE=none DEFAULT_SETTING_TAGS_PER_SOURCE=20
          DEFAULT_SETTING_TAGS_SINCE=-1 week DEFAULT_SETTING_TEXT_ONLY=false DEFAULT_SETTING_THEME=default
          DEFAULT_SETTING_TIMEZONE=UTC DEFAULT_SETTING_TRASH_PER_SOURCE=20 DEFAULT_SETTING_TRASH_SINCE=-1 week
          DEFAULT_SETTING_UNREAD_EXCLUDE_FEEDS=false DEFAULT_SETTING_UNREAD_EXCLUDE_GITHUB=false
          DEFAULT_SETTING_UNREAD_EXCLUDE_WORDPRESS=false DEFAULT_SETTING_UNREAD_PER_SOURCE=20
          DEFAULT_SETTING_UNREAD_SINCE=-1 week DEFAULT_SETTING_WORDPRESS_SINCE=-1 week

          DEFAULT_SMTP_NAME= DEFAULT_SMTP_NO_AUTH=false DEFAULT_SMTP_PORT= DEFAULT_SMTP_SERVER= DEFAULT_SMTP_TLS=false

          DISABLE_EMPTY_SUPERGLOBALS=false DISABLE_FINGERPRINT=false DISABLE_INI_SETTINGS=false DISABLE_IP_CHECK=false
          DISABLE_OPEN_BASE_DIR=false DISABLE_ORIGIN_CHECK=false

          DYNAMIC_HOST=true DYNAMIC_HOST_SUBDOMAIN=false DYNAMIC_MAIL_SUBDOMAIN=false DYNAMIC_SMTP_SUBDOMAIN=false
          DYNAMIC_USER=false

          ENABLE_MEMCACHED=true ENABLE_REDIS=true

          ENCRYPT_AJAX_REQUESTS=false ENCRYPT_LOCAL_STORAGE=false

          FANCY_LOGIN=false

          GITHUB_AUTH_URL=https://github.com/login/oauth/authorize GITHUB_CLIENT_ID=false GITHUB_CLIENT_SECRET=
          GITHUB_REDIRECT_URI=http://localhost/?page=home GITHUB_TOKEN_URL=https://github.com/login/oauth/access_token

          GMAIL_AUTH_URI=https://accounts.google.com/o/oauth2/auth GMAIL_CLIENT_ID= GMAIL_CLIENT_SECRET=
          GMAIL_CLIENT_URI=http://localhost/?page=home GMAIL_REFRESH_URI=https://www.googleapis.com/oauth2/v3/token
          GMAIL_TOKEN_URI=https://www.googleapis.com/oauth2/v3/token

          IMAP_AUTH_NAME=Gandi IMAP_AUTH_PORT=993 IMAP_AUTH_SERVER=mail.gandi.net IMAP_AUTH_SIEVE_CONF_HOST=false
          IMAP_AUTH_SIEVE_TLS_MODE=true IMAP_AUTH_TLS=true

          JS_COMPRESS=false JS_EXCLUDE_DEPS=false

          LDAP_AUTH=false LDAP_AUTH_BASE_DN=example,dc=com LDAP_AUTH_PORT=389 LDAP_AUTH_SERVER=localhost
          LDAP_AUTH_TLS=false LDAP_AUTH_UID_ATTR=uid LDAP_BASE_DN=dc=example,dc=com LDAP_ENABLE_TLS=false
          LDAP_OBJECT_CLASS=top,person,organizationalperson,inetorgperson LDAP_PASS= LDAP_PORT=389 LDAP_READ_WRITE=true
          LDAP_SEARCH_TERM=objectclass=inetOrgPerson LDAP_SERVER=localhost LDAP_UID_ATTR=uid LDAP_USER=

          LONG_SESSION_LIFETIME=30

          MEMCACHED_AUTH=false MEMCACHED_PASS= MEMCACHED_PORT=11211 MEMCACHED_SERVER=127.0.0.1 MEMCACHED_USER=

          OFFICE365_AUTH_URI=https://login.live.com/oauth20_authorize.srf OFFICE365_CLIENT_ID= OFFICE365_CLIENT_SECRET=
          OFFICE365_CLIENT_URI=http://localhost/?page=home
          OFFICE365_REFRESH_URI=https://login.live.com/oauth20_token.srf
          OFFICE365_TOKEN_URI=https://login.live.com/oauth20_token.srf

          OUTLOOK_AUTH_URI=https://login.live.com/oauth20_authorize.srf OUTLOOK_CLIENT_ID= OUTLOOK_CLIENT_SECRET=
          OUTLOOK_CLIENT_URI=http://localhost/?page=home OUTLOOK_REFRESH_URI=https://login.live.com/oauth20_token.srf
          OUTLOOK_TOKEN_URI=https://login.live.com/oauth20_token.srf

          RECAPTCHA_SECRET= RECAPTCHA_SITE_KEY=

          REDIRECT_AFTER_LOGIN=

          REDIS_INDEX=1 REDIS_PASS= REDIS_PORT=6379 REDIS_SERVER=127.0.0.1 REDIS_SOCKET=/var/run/redis/redis-server.sock

          SESSION_CLASS= SESSION_TYPE=PHP

          SINGLE_SERVER_MODE=false

          USER_CONFIG_TYPE=file USER_SETTINGS_DIR=/var/lib/hm3/users

          WORDPRESS_CLIENT_ID= WORDPRESS_CLIENT_SECRET= WORDPRESS_CLIENT_URI=

          LOG_FILE=/var/log/cypht/cypht.log DEBUG_LOG=false LOG_LEVEL=WARNING