aboutsummaryrefslogtreecommitdiff
path: root/example.config.toml
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-07 17:59:31 +0530
committerBobby <[email protected]>2026-03-07 17:59:31 +0530
commita6ec9a807df68978bf3b85314a4c54c60ecc2b7a (patch)
tree6201e8d594a3c368cce50ebc402f248814e2025f /example.config.toml
parent57df54999e778887e66775481dab46191b46d0b6 (diff)
downloaddove-a6ec9a807df68978bf3b85314a4c54c60ecc2b7a.tar.xz
dove-a6ec9a807df68978bf3b85314a4c54c60ecc2b7a.zip
feat: implement SMTP server with authentication, port validation, and email storage
Diffstat (limited to 'example.config.toml')
-rw-r--r--example.config.toml101
1 files changed, 100 insertions, 1 deletions
diff --git a/example.config.toml b/example.config.toml
index 8748a3b..be3cdaf 100644
--- a/example.config.toml
+++ b/example.config.toml
@@ -1,22 +1,77 @@
+# =============================================================================
+# Dove - Local SMTP Email Testing Tool
+# =============================================================================
+# Copy this file to config.toml and adjust values as needed.
+# All values shown below are defaults and can be omitted if unchanged.
+
+# -----------------------------------------------------------------------------
+# HTTP Server
+# -----------------------------------------------------------------------------
+# The web dashboard for viewing and managing captured emails.
+
[server]
+# Network interface to bind the HTTP server to.
+# Use "0.0.0.0" to listen on all interfaces, or "127.0.0.1" for local only.
host = "0.0.0.0"
+
+# Port for the web dashboard.
port = 8080
+
+# Enable verbose debug logging for HTTP requests.
debug = false
+
+# Optional credentials to protect the web dashboard.
+# Leave commented out to disable dashboard authentication.
# username = ""
# password = ""
+# -----------------------------------------------------------------------------
+# SMTP Server
+# -----------------------------------------------------------------------------
+# Receives incoming emails from mail clients and applications.
+
[smtp]
+# Network interface to bind the SMTP server to.
host = "0.0.0.0"
+
+# Port for plain SMTP connections.
port = 5025
+
+# Port for implicit TLS (SMTPS) connections. Requires tls_enabled = true.
smtps_port = 5465
+
+# Port for STARTTLS connections. Requires tls_enabled = true.
starttls_port = 5587
+
+# The domain name announced in SMTP EHLO/HELO greetings.
+# This identifies the mail server to connecting clients.
+domain = "localhost"
+
+# Maximum allowed email size in bytes (default: 25 MB).
max_message_size = 26214400
+
+# Timeout in seconds for reading data from SMTP clients.
+read_timeout = 30
+
+# Timeout in seconds for writing data to SMTP clients.
+write_timeout = 30
+
+# Require SMTP authentication before accepting messages.
auth_required = false
+
+# Credentials for SMTP authentication. Only used when auth_required = true.
# username = ""
# password = ""
+
+# Enable TLS support for SMTPS and STARTTLS listeners.
tls_enabled = false
+
+# Paths to TLS certificate and private key files. Required when tls_enabled = true.
# tls_cert = ""
# tls_key = ""
+
+# Relay captured emails to an upstream SMTP server.
+# Useful for forwarding test emails to a real mail server.
relay_enabled = false
# relay_host = ""
relay_port = 587
@@ -24,27 +79,71 @@ relay_port = 587
# relay_password = ""
relay_starttls = true
+# -----------------------------------------------------------------------------
+# IMAP Server
+# -----------------------------------------------------------------------------
+# Allows mail clients to retrieve captured emails via the IMAP protocol.
+
[imap]
+# Network interface to bind the IMAP server to.
host = "0.0.0.0"
+
+# Port for plain IMAP connections.
port = 5143
+
+# Port for implicit TLS (IMAPS) connections. Requires tls_enabled = true.
imaps_port = 5993
+
+# Require IMAP authentication before granting access.
auth_required = false
+
+# Credentials for IMAP authentication. Only used when auth_required = true.
# username = ""
# password = ""
+
+# Enable TLS support for the IMAPS listener.
tls_enabled = false
+
+# Paths to TLS certificate and private key files. Required when tls_enabled = true.
# tls_cert = ""
# tls_key = ""
+# -----------------------------------------------------------------------------
+# POP3 Server
+# -----------------------------------------------------------------------------
+# Allows mail clients to retrieve captured emails via the POP3 protocol.
+
[pop3]
+# Network interface to bind the POP3 server to.
host = "0.0.0.0"
+
+# Port for plain POP3 connections.
port = 5110
+
+# Port for implicit TLS (POP3S) connections. Requires tls_enabled = true.
pop3s_port = 5995
+
+# Require POP3 authentication before granting access.
auth_required = false
+
+# Credentials for POP3 authentication. Only used when auth_required = true.
# username = ""
# password = ""
+
+# Enable TLS support for the POP3S listener.
tls_enabled = false
+
+# Paths to TLS certificate and private key files. Required when tls_enabled = true.
# tls_cert = ""
# tls_key = ""
+# -----------------------------------------------------------------------------
+# Mailbox
+# -----------------------------------------------------------------------------
+# Controls how incoming emails are routed to mailboxes.
+
[mailbox]
-mode = "registered" \ No newline at end of file
+# Mailbox routing mode:
+# "registered" - Only accept emails for registered mailbox addresses.
+# "open" - Automatically create mailboxes for any recipient address.
+mode = "registered"