KumoMTA Docs
FAQ
Initializing search
    KumoCorp/kumomta
    • Tutorial
    • User Guide
    • Reference Manual
    • FAQ
    • Changelog
    KumoCorp/kumomta
      • Quickstart Tutorial
      • Server Environment
      • System Preparation
      • Installing KumoMTA
      • Configuring KumoMTA
      • Starting KumoMTA
      • Testing KumoMTA
      • Checking Logs
      • Next Steps
    • User Guide
        • Preface and Legal Notices
        • About This Manual
        • How to Report Bugs
        • How to Get Help
        • Credits
        • History
        • Architecture
        • Lua Fundamentals
        • Installation Overview
        • Server Environment
        • Server Hardware
        • Operating System
        • System Preparation
        • Security Considerations
        • Installing on Linux
        • Upgrading
        • Installing on Docker
        • Building from Source
        • Configuration Concepts
        • Lua Policy Helpers
        • Example Server Policy
        • Configuring Spooling
        • Configuring Logging
        • Configuring SMTP Listeners
        • Configuring Inbound and Relay Domains
        • Configuring Bounce Classification
        • Configuring Feedback Loop Processing
        • Configuring HTTP Listeners
        • Configuring Sending IPs
        • Configuring Queue Management
        • Configuring Queue Rollup
        • Configuring Traffic Shaping
        • Configuring DKIM Signing
        • Starting KumoMTA
        • Getting Server Status
        • Troubleshooting KumoMTA
        • Injecting Messages using SMTP
        • Injecting Messages using HTTP
        • Routing Messages Via Proxy Servers
        • Viewing Logs
        • Canceling Queued Messages
        • Additional Utilities
        • Using the kcli Command-Line Client
        • KumoProxy SOCKS5 Server
      • Policy
        • Checking Inbound SMTP Authentication
        • Delivering Messages Using SMTP Auth
        • Custom Destination Routing
        • Routing Messages via HTTP Request
        • Routing Messages via AMQP
        • Routing Messages via Kafka
        • Storing Secrets in Hashicorp Vault
        • Publishing Log Events Via Webhooks
        • Rewriting Remote Server Responses
      • Clustering
        • Deployment Architecture
        • Aggregating Event Data
        • Implementing Shared Throttles
        • Clustered Traffic Shaping Automation
        • Scaling Clusters Up and Down
        • Deploying KumoMTA on Kubernetes
      • Performance
        • Architecture
        • Linux Tuning
        • DNS
        • Performance Testing
        • Understanding KumoMTA Message Flows
        • Log Hooks
      • Integrations
        • Postmastery
        • Ongage
        • Prometheus
    • Reference Manual
      • Predefined Metadata
      • Queues
      • Configuration Lifecycle
      • Memory Management
      • Template Syntax
        • cycler
        • dateformat
        • datetimeformat
        • filesizeformat
        • joiner
        • now
        • pluralize
        • timeformat
      • Log Record
      • kcli
        • kcli bounce-cancel
        • kcli bounce-list
        • kcli bounce
        • kcli inspect-message
        • kcli inspect-sched-q
        • kcli provider-summary
        • kcli queue-summary
        • kcli rebind
        • kcli set-log-filter
        • kcli suspend-cancel
        • kcli suspend-list
        • kcli suspend-ready-q-cancel
        • kcli suspend-ready-q-list
        • kcli suspend-ready-q
        • kcli suspend
        • kcli top
        • kcli trace-smtp-client
        • kcli trace-smtp-server
      • module: kumo
        • available_parallelism
        • bump_config_epoch
        • configure_accounting_db_path
        • configure_bounce_classifier
        • configure_local_logs
          • back_pressure
          • compression_level
          • filter_event
          • headers
          • log_dir
          • max_file_size
          • max_segment_duration
          • meta
          • min_free_inodes
          • min_free_space
          • per_record
        • configure_log_hook
        • configure_redis_throttles
        • define_spool
          • flush
          • kind
          • min_free_inodes
          • min_free_space
          • name
          • path
          • rocks_params
        • eval_config_monitor_globs
        • glob
        • json_encode
        • json_encode_pretty
        • json_load
        • json_parse
        • log_debug
        • log_error
        • log_info
        • log_warn
        • make_egress_path
          • additional_connection_limits
          • additional_message_rate_throttles
          • additional_source_selection_rates
          • allow_smtp_auth_plain_without_tls
          • banner_timeout
          • connect_timeout
          • connection_limit
          • consecutive_connection_failures_before_delay
          • data_dot_timeout
          • data_timeout
          • dispatcher_wakeup_strategy
          • ehlo_domain
          • ehlo_timeout
          • enable_dane
          • enable_mta_sts
          • enable_pipelining
          • enable_rset
          • enable_tls
          • idle_timeout
          • low_memory_reduction_policy
          • mail_from_timeout
          • maintainer_wakeup_strategy
          • max_connection_rate
          • max_deliveries_per_connection
          • max_message_rate
          • max_ready
          • no_memory_reduction_policy
          • openssl_cipher_list
          • openssl_cipher_suites
          • openssl_options
          • opportunistic_tls_reconnect_on_failed_handshake
          • prohibited_hosts
          • rcpt_to_timeout
          • reconnect_strategy
          • refresh_interval
          • refresh_strategy
          • remember_broken_tls
          • rset_timeout
          • rustls_cipher_suites
          • skip_hosts
          • smtp_auth_plain_password
          • smtp_auth_plain_username
          • smtp_port
          • source_selection_rate
          • starttls_timeout
          • suspended
          • system_shutdown_timeout
          • tls_prefer_openssl
          • try_next_host_on_transport_error
          • use_lmtp
        • make_egress_pool
          • entries
          • name
          • ttl
        • make_egress_source
          • ehlo_domain
          • ha_proxy_server
          • ha_proxy_source_address
          • name
          • remote_port
          • socks5_proxy_server
          • socks5_proxy_source_address
          • source_address
          • ttl
        • make_listener_domain
          • log_arf
          • log_oob
          • relay_from
          • relay_to
        • make_queue_config
          • egress_pool
          • max_age
          • max_message_rate
          • max_retry_interval
          • protocol
          • reap_interval
          • refresh_interval
          • refresh_strategy
          • retry_interval
          • shrink_policy
          • strategy
          • timerwheel_tick_interval
        • make_throttle
        • memoize
        • on
        • read_dir
        • reject
        • set_config_monitor_globs
        • set_diagnostic_log_filter
        • set_httpinject_recipient_rate_limit
        • set_httpinject_threads
        • set_logging_threads
        • set_lruttl_cache_capacity
        • set_max_lua_context_age
        • set_max_lua_context_use_count
        • set_max_spare_lua_contexts
        • set_memory_hard_limit
        • set_memory_low_thresh
        • set_memory_soft_limit
        • set_qmaint_threads
        • set_ready_qmaint_threads
        • set_readyq_threads
        • set_smtpsrv_threads
        • set_spoolin_threads
        • sleep
        • spawn_task
        • start_esmtp_listener
          • banner
          • client_timeout
          • data_buffer_size
          • data_processing_timeout
          • deferred_queue
          • deferred_spool
          • hostname
          • invalid_line_endings
          • line_length_hard_limit
          • listen
          • max_connections
          • max_message_size
          • max_messages_per_connection
          • max_recipients_per_message
          • meta
          • peer
          • relay_hosts
          • tls_certificate
          • tls_private_key
          • trace_headers
          • via
        • start_http_listener
          • hostname
          • listen
          • request_body_limit
          • tls_certificate
          • tls_private_key
          • trusted_hosts
          • use_tls
        • toml_encode
        • toml_encode_pretty
        • toml_load
        • toml_parse
        • uncached_glob
      • module: kumo.amqp
        • basic_publish
        • build_client
      • module: kumo.api.inject
        • inject_v1
      • module: kumo.digest
        • sha1
        • sha256
        • sha384
        • sha512
        • sha512_256
      • module: kumo.dkim
        • ed25519_signer
        • rsa_sha256_signer
        • set_signing_threads
      • module: kumo.dns
        • configure_resolver
        • configure_unbound_resolver
        • lookup_addr
        • lookup_mx
        • lookup_txt
        • set_mx_concurrency_limit
        • set_mx_negative_cache_ttl
        • set_mx_timeout
      • module: kumo.encode
        • base32_decode
        • base32_encode
        • base32_nopad_decode
        • base32_nopad_encode
        • base32hex_decode
        • base32hex_encode
        • base32hex_nopad_decode
        • base32hex_nopad_encode
        • base64_decode
        • base64_encode
        • base64_nopad_decode
        • base64_nopad_encode
        • base64url_decode
        • base64url_encode
        • base64url_nopad_decode
        • base64url_nopad_encode
        • hex_decode
        • hex_encode
      • module: kumo.cidr
        • make_map
      • module: kumo.domain_map
        • new
      • module: kumo.http
        • Request
        • Response
        • build_client
        • build_url
        • connect_websocket
      • module: kumo.kafka
        • build_producer
      • module: kumo.regex_set_map
        • new
      • module: kumo.secrets
        • load
      • module: kumo.serde
        • json_encode
        • json_encode_pretty
        • json_load
        • json_parse
        • toml_encode
        • toml_encode_pretty
        • toml_load
        • toml_parse
        • yaml_encode
        • yaml_load
        • yaml_parse
      • module: kumo.shaping
        • load
      • module: kumo.spf
        • check_host
      • module: kumo.uuid
        • new_v1
        • new_v4
        • new_v6
        • new_v7
        • parse
      • module: redis
        • open
      • module: regex
        • compile
        • escape
      • module: sqlite
        • open
      • module: string
        • eval_template
        • psl_domain
        • psl_suffix
        • replace
        • replacen
        • rsplit
        • rsplitn
        • split
        • split_ascii_whitespace
        • split_whitespace
        • splitn
        • trim
        • trim_end
        • trim_start
      • module: kumo.time
        • sleep
        • start_timer
      • module: tsa
        • configure_tsa_db_path
        • start_http_listener
      • object: address
        • domain
        • email
        • user
      • object: addressheader
        • domain
        • email
        • list
        • name
        • user
      • object: authenticationresult
      • object: connectionmeta
      • object: keysource
      • object: message
        • add_authentication_results
        • append_header
        • append_text_html
        • append_text_plain
        • check_fix_conformance
        • dkim_sign
        • dkim_verify
        • from_header
        • get_address_header
        • get_all_headers
        • get_all_named_header_values
        • get_data
        • get_first_named_header_value
        • get_meta
        • id
        • import_scheduling_header
        • import_x_headers
        • num_attempts
        • parse_rfc3464
        • prepend_header
        • queue_name
        • recipient
        • remove_all_named_headers
        • remove_x_headers
        • save
        • sender
        • set_data
        • set_due
        • set_force_sync
        • set_meta
        • set_recipient
        • set_scheduling
        • set_sender
        • shrink
        • shrink_data
        • to_header
      • events
        • get_egress_path_config
        • get_egress_pool
        • get_egress_source
        • get_listener_domain
        • get_queue_config
        • http_message_generated
        • http_server_validate_auth_basic
        • init
        • pre_init
        • rebind_message
        • requeue_message
        • should_enqueue_log_record
        • smtp_client_rewrite_delivery_status
        • smtp_server_auth_plain
        • smtp_server_connection_accepted
        • smtp_server_ehlo
        • smtp_server_get_dynamic_parameters
        • smtp_server_mail_from
        • smtp_server_message_deferred_inject
        • smtp_server_message_received
        • smtp_server_rcpt_to
        • spool_message_enumerated
        • throttle_insert_ready_queue
        • tsa_init
        • tsa_load_shaping_data
      • HTTP API Explorer
      • HTTP API
        • `DELETE /api/admin/bounce/v1`
        • `GET /api/admin/bounce/v1`
        • `POST /api/admin/bounce/v1`
        • `POST /api/admin/set_diagnostic_log_filter/v1`
        • `POST /api/inject/v1`
        • `GET /metrics.json`
        • `GET /metrics`
      • Internal Rust API
        • bounce_classify
        • cidr_map
        • config
        • data_loader
        • dns_resolver
        • domain_map
        • duration_serde
        • kumo_address
        • kumo_api_types
        • kumo_chrono_helper
        • kumo_dkim
        • kumo_dmarc
        • kumo_log_types
        • kumo_prometheus
        • kumo_server_common
        • kumo_server_lifecycle
        • kumo_server_memory
        • kumo_server_runtime
        • kumo_spf
        • kumo_template
        • lruttl
        • maildir
        • mailparsing
        • message
        • mod_amqp
        • mod_digest
        • mod_dns_resolver
        • mod_encode
        • mod_filesystem
        • mod_http
        • mod_kafka
        • mod_memoize
        • mod_redis
        • mod_regex
        • mod_serde
        • mod_sqlite
        • mod_string
        • mod_time
        • mod_uuid
        • mta_sts
        • regex_set_map
        • rfc5321
        • spool
        • throttle
        • timeq
        • uuid_helper
        • version_info
      • Tags
    • FAQ
      • Can I Migrate From Momentum (Ecelerity) to KumoMTA?
      • Can I Migrate From PowerMTA to KumoMTA?
      • Does KumoMTA Follow Secure Development Lifecycle (SDLC) Practices?
      • How do I flush a queue?
      • How Can I Get Help With KumoMTA?
      • How Can I Tell What Traffic Shaping Rules Apply To A Domain?
      • How do I skip IPv6 MX hosts for outbound SMTP?
      • How do I create an always-suspended queue?
      • How do I include multiple configuration files from a directory?
      • Is There a SaaS Version of KumoMTA?
      • How Can I Apply Multiple DKIM Signatures to a Message?
      • Why is KumoMTA Accepting Connections From Systems Not Listed in relay_hosts?
      • How do I resolve a `Permission Denied` error?
      • How Do I Configure POP3/IMAP?
      • How Do Shared Throttles Work for Small Connection Limits in a Cluster?
      • How Do I Avoid Having a Single Point of Failure?
      • How Can I Test TLS Injection?
      • What is KumoMTA?
      • Who is KumoMTA For?
    • Changelog
      • Unreleased Changes in The Mainline
      • Release 2025.05.06-b29689af
      • Release 2025.03.19-1d3f1f67
      • Release 2025.01.29-833f82a8
      • Release 2025.01.23-7273d2bc
      • Release 2024.11.08-d383b033
      • Release 2024.09.02-c5476b89
      • Release 2024.06.10-84e84b89
      • Release 2023.12.28-63cde9c7
      • Release 2023.11.28-b5252a41
      • Release 2023.08.22-4d895015 - Automation
      • Release 2023.06.22-51b72a83
      • Release 2023.05.10-e88ad036 - Beta 2
      • Release 2023.03.31-36aa20de - Beta1

    FAQ

    • Can I Migrate From Momentum (Ecelerity) to KumoMTA?
    • Can I Migrate From PowerMTA to KumoMTA?
    • Does KumoMTA Follow Secure Development Lifecycle (SDLC) Practices?
    • How do I flush a queue?
    • How Can I Get Help With KumoMTA?
    • How Can I Tell What Traffic Shaping Rules Apply To A Domain?
    • How do I skip IPv6 MX hosts for outbound SMTP?
    • How do I create an always-suspended queue?
    • How do I include multiple configuration files from a directory?
    • Is There a SaaS Version of KumoMTA?
    • How Can I Apply Multiple DKIM Signatures to a Message?
    • Why is KumoMTA Accepting Connections From Systems Not Listed in relay_hosts?
    • How do I resolve a Permission Denied error?
    • How Do I Configure POP3/IMAP?
    • How Do Shared Throttles Work for Small Connection Limits in a Cluster?
    • How Do I Avoid Having a Single Point of Failure?
    • How Can I Test TLS Injection?
    • What is KumoMTA?
    • Who is KumoMTA For?
    Previous
    Tags
    Next
    Can I Migrate From Momentum (Ecelerity) to KumoMTA?
    Copyright © 2023 Kumo Corp
    Made with Material for MkDocs