Documentation ¶
Overview ¶
Package config handles the application configuration
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // SMTPListen to listen on <interface>:<port> SMTPListen = "[::]:1025" // HTTPListen to listen on <interface>:<port> HTTPListen = "[::]:8025" // Database for mail (optional) Database string // TenantID is an optional prefix to be applied to all database tables, // allowing multiple isolated instances of Mailpit to share a database. TenantID string // Label to identify this Mailpit instance (optional). // This gets applied to web UI, SMTP and optional POP3 server. Label string // MaxMessages is the maximum number of messages a mailbox can have (auto-pruned every minute) MaxMessages = 500 // MaxAge is the maximum age of messages (auto-pruned every hour). // Value can be either <int>h for hours or <int>d for days MaxAge string // MaxAgeInHours is the maximum age of messages in hours, set with parseMaxAge() using MaxAge value MaxAgeInHours int // UseMessageDates sets the Created date using the message date, not the delivered date UseMessageDates bool // UITLSCert file UITLSCert string // UITLSKey file UITLSKey string // UIAuthFile for UI & API authentication UIAuthFile string // Webroot to define the base path for the UI and API Webroot = "/" // SMTPTLSCert file SMTPTLSCert string // SMTPTLSKey file SMTPTLSKey string // SMTPRequireSTARTTLS to enforce the use of STARTTLS // The only allowed commands are NOOP, EHLO, STARTTLS and QUIT (as specified in RFC 3207) until // the connection is upgraded to TLS i.e. until STARTTLS is issued. SMTPRequireSTARTTLS bool // SMTPRequireTLS to allow only SSL/TLS connections for all connections // SMTPRequireTLS bool // SMTPAuthFile for SMTP authentication SMTPAuthFile string // SMTPAuthAllowInsecure allows PLAIN & LOGIN unencrypted authentication SMTPAuthAllowInsecure bool // SMTPAuthAcceptAny accepts any username/password including none SMTPAuthAcceptAny bool // SMTPMaxRecipients is the maximum number of recipients a message may have. // The SMTP RFC states that an server must handle a minimum of 100 recipients // however some servers accept more. SMTPMaxRecipients = 100 // IgnoreDuplicateIDs will skip messages with the same ID IgnoreDuplicateIDs bool // BlockRemoteCSSAndFonts used to disable remote CSS & fonts BlockRemoteCSSAndFonts = false // CLITagsArg is used to map the CLI args CLITagsArg string // ValidTagRegexp represents a valid tag ValidTagRegexp = regexp.MustCompile(`^([a-zA-Z0-9\-\ \_\.]){1,}$`) // TagsConfig is a yaml file to pre-load tags TagsConfig string // TagFilters are used to apply tags to new mail TagFilters []autoTag // TagsDisable accepts a comma-separated list of tag types to disable // including x-tags & plus-addresses TagsDisable string // SMTPRelayConfigFile to parse a yaml file and store config of relay SMTP server SMTPRelayConfigFile string // SMTPRelayConfig to parse a yaml file and store config of relay SMTP server SMTPRelayConfig SMTPRelayConfigStruct // SMTPStrictRFCHeaders will return an error if the email headers contain <CR><CR><LF> (\r\r\n) // @see https://github.com/axllent/mailpit/issues/87 & https://github.com/axllent/mailpit/issues/153 SMTPStrictRFCHeaders bool // SMTPAllowedRecipients if set, will only accept recipients matching this regular expression SMTPAllowedRecipients string // SMTPAllowedRecipientsRegexp is the compiled version of SMTPAllowedRecipients SMTPAllowedRecipientsRegexp *regexp.Regexp // ReleaseEnabled is whether message releases are enabled, requires a valid SMTPRelayConfigFile ReleaseEnabled = false // SMTPRelayAll is whether to relay all incoming messages via pre-configured SMTP server. // Use with extreme caution! SMTPRelayAll = false // SMTPRelayMatching if set, will auto-release to recipients matching this regular expression SMTPRelayMatching string // SMTPRelayMatchingRegexp is the compiled version of SMTPRelayMatching SMTPRelayMatchingRegexp *regexp.Regexp // POP3Listen address - if set then Mailpit will start the POP3 server and listen on this address POP3Listen = "[::]:1110" // POP3AuthFile for POP3 authentication POP3AuthFile string // POP3TLSCert TLS certificate POP3TLSCert string // POP3TLSKey TLS certificate key POP3TLSKey string // EnableSpamAssassin must be either <host>:<port> or "postmark" EnableSpamAssassin string // WebhookURL for calling WebhookURL string // ContentSecurityPolicy for HTTP server - set via VerifyConfig() ContentSecurityPolicy string // AllowUntrustedTLS allows untrusted HTTPS connections link checking & screenshot generation AllowUntrustedTLS bool // Version is the default application version, updated on release Version = "dev" // Repo on Github for updater Repo = "axllent/mailpit" // RepoBinaryName on Github for updater RepoBinaryName = "mailpit" // DisableHTMLCheck DEPRECATED 2024/04/13 - kept here to display console warning only DisableHTMLCheck = false // DemoMode disables SMTP relay, link checking & HTTP send functionality DemoMode = false )
View Source
var ( // TagsDisablePlus disables message tagging using plus-addresses (user+tag@example.com) - set via verifyConfig() TagsDisablePlus bool // TagsDisableXTags disables message tagging via the X-Tags header - set via verifyConfig() TagsDisableXTags bool )
Functions ¶
func DBTenantID ¶ added in v1.20.7
DBTenantID converts a tenant ID to a DB-friendly value if set
Types ¶
type SMTPRelayConfigStruct ¶ added in v1.14.4
type SMTPRelayConfigStruct struct { Host string `yaml:"host"` Port int `yaml:"port"` STARTTLS bool `yaml:"starttls"` AllowInsecure bool `yaml:"allow-insecure"` Auth string `yaml:"auth"` // none, plain, login, cram-md5 Username string `yaml:"username"` // plain & cram-md5 Password string `yaml:"password"` // plain Secret string `yaml:"secret"` // cram-md5 ReturnPath string `yaml:"return-path"` // allow overriding the bounce address AllowedRecipients string `yaml:"allowed-recipients"` // regex, if set needs to match for mails to be relayed AllowedRecipientsRegexp *regexp.Regexp // compiled regexp using AllowedRecipients BlockedRecipients string `yaml:"blocked-recipients"` // regex, if set prevents relating to these addresses BlockedRecipientsRegexp *regexp.Regexp // compiled regexp using BlockedRecipients // DEPRECATED 2024/03/12 RecipientAllowlist string `yaml:"recipient-allowlist"` }
SMTPRelayConfigStruct struct for parsing yaml & storing variables
Click to show internal directories.
Click to hide internal directories.