| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| server:mail [2023/12/20 00:24] – [External Mail Processors] Technical details for writing a mailproc digital man | server:mail [2026/03/17 10:11] (current) – [Anti-SPAM] added signup link for spamhaus nelgin |
|---|
| === Special Aliases === | === Special Aliases === |
| Recipient names configured in ''[[dir:ctrl]]/[[config:alias.cfg]]'' can be used to match recipient names to specific user account numbers, aliases, external email addresses, or even sub-boards. | Recipient names configured in ''[[dir:ctrl]]/[[config:alias.cfg]]'' can be used to match recipient names to specific user account numbers, aliases, external email addresses, or even sub-boards. |
| |
| === User Number === | |
| Receiving by user account number is also optionally supported, not not encouraged and disabled by default. | |
| |
| ==== Special Prefixes ==== | ==== Special Prefixes ==== |
| |
| When a DNSBL service reports an IP address as "black-listed", any additional DNSBL services/servers are not queried. | When a DNSBL service reports an IP address as "black-listed", any additional DNSBL services/servers are not queried. |
| | |
| | If you have used zen.spamhaus.org in the past, this will no longer work. You will need to apply for a Spamhaus Data Query Service account at https://www.spamhaus.com/data-access/free-data-query-service/ where you will receive a unique key that is used to query their DNS. |
| |
| == Exemptions == | == Exemptions == |
| |
| {{:server:SBBSCTRL.mailsrvr.advanced.png?400|}} | {{:server:SBBSCTRL.mailsrvr.advanced.png?400|}} |
| ==== External Mail Processors ==== | |
| | ==== Archiving ==== |
| | |
| | The Synchronet Mail Server (v3.21+) can automatically archive messages received via SMTP as separate ''.eml'' files in sub-directories of ''[[dir:data]]/user/####/'' (where ''####'' is the recipient or relaying user number). |
| | |
| | To utilize the mail archive feature, the sysop must set the "Archive Requirements" mail server setting (e.g. in [[util:SCFG]]->Servers->Mail Server) to specify the [[:access:]] requirements of the user or users whose mail should be auto-archived. |
| | |
| | Notes: |
| | * Messages are archived after being processed by any external mail processors which may have modified the message header or body |
| | * SPAM-tagged messages received for local users are not archived |
| | * Archived messages are stored in ''.eml'' files, plain text files conforming to the RFC-822 internet message standard format |
| | * Messages received for relay by users meeting the archive requirements are be stored in their ''[[dir:data]]/user/####/smtp_relay'' directory (i.e. like an "inbox") |
| | * Messages received for delivery to local users meeting the archive requirements are stored in their ''[[dir:data]]/user/####/smtp_in'' directory (i.e. like an "outbox") |
| | * There's no limit to the number or size of messages that may be archived, so disk consumption could be a concern |
| | |
| | |
| | |
| | ===== SendMail ===== |
| | |
| | The Synchronet Mail Server's //SendMail Thread// is responsible for delivering Internet email using the SMTP or ESMTP protocols, optionally authenticating using PLAIN, LOGIN, or CRAM-MD5 SMTP-AUTH methods if required by an SMTP relay server. |
| | |
| | Both Direct Delivery and Relaying (e.g. through intermediary mail server) is supported. |
| | |
| | The SendMail Thread currently can service one outgoing SMTP/ESMTP session at a time. |
| | |
| | The SendMail Thread will attempt to deliver securely (encrypted via TLS) when possible, though it will fall back to plain text delivery when necessary. |
| | |
| | ===== Post Office ===== |
| | |
| | The mail server also services authenticated "post office" requests from mail clients using the POP3 protocol, by default, on TCP port 110 and POP3S (Secure/encrypted POP3 over TLS) on TCP Port 995. |
| | |
| | The POP3 server supports client authentication via the USER or APOP methods. |
| | |
| | The POP3 server can service multiple simultaneous incoming sessions. |
| | |
| | For IMAP support, see Deuce's [[service:imap|IMAP Service]]. |
| | |
| | ==== Anti-SPAM ==== |
| | |
| | The Synchronet POP3 server will filter-out SPAM-tagged mail automatically when a POP3 client logs in with ''//<username>//#nospam''. |
| | |
| | Append "#nospam" to your login name/alias and any |
| | SPAM-tagged messages will not be listed/downloaded. This is useful if for |
| | example you use POP3 to download mail to your phone and have limited |
| | storage or sorting options. The SPAM-tagged messages will remain in your |
| | inbox on the BBS so you should use another POP3 or local mail client to |
| | download and delete those messages (which could potentially include |
| | false positives). |
| | |
| | ===== Configure ===== |
| | |
| | The Synchronet Mail Server can be configured via [[util:SCFG]]:Servers->Mail Server: |
| | |
| | ╔════════════════════════════════════════════╗ |
| | ║ Mail Server Settings ║ |
| | ╠════════════════════════════════════════════╣ |
| | ║ │Enabled Yes ║ |
| | ║ │Log Level Info ║ |
| | ║ │SMTP Interfaces 0.0.0.0, :: ║ |
| | ║ │SMTP Support Port 25 ║ |
| | ║ │Submission Support Port 587 ║ |
| | ║ │Submission/TLS Support Port 465 ║ |
| | ║ │POP3 Interfaces 0.0.0.0, :: ║ |
| | ║ │POP3 Support Port 110 ║ |
| | ║ │POP3/TLS Support Port 995 ║ |
| | ║ │Mark Retrieved Mail as Read Yes ║ |
| | ║ │Max Clients 100 ║ |
| | ║ │Max Inactivity 2 minutes ║ |
| | ║ │Max Concurrent Connections Unlimited ║ |
| | ║ │Max Recipients Per Message 100 ║ |
| | ║ │Max Messages Waiting 100 ║ |
| | ║ │Max Receive Message Size 20M bytes ║ |
| | ║ │Limit Rate of Requests <disabled> ║ |
| | ║ │Post Recipient ║ |
| | ║ │Default Recipient ║ |
| | ║ │Receive By Sysop Aliases No ║ |
| | ║ │Notify Local Recipients Yes ║ |
| | ║ │Notify Offline Recipients Yes ║ |
| | ║ │Allow Users to Relay Mail No ║ |
| | ║ │Lookup Client Hostname Yes ║ |
| | ║ │Check Headers against DNSBL No ║ |
| | ║ │DNS-Blacklisted Servers Tag Mail ║ |
| | ║ │Hash DNS-Blacklisted Msgs No ║ |
| | ║ │Kill SPAM When Read No ║ |
| | ║ │Spammer IP-Filter Duration Infinite ║ |
| | ║ │SendMail Support... Direct ║ |
| | ║ │Login Requirements ║ |
| | ║ │Archive Requirements ║ |
| | ║ │JavaScript Settings... ║ |
| | ║ │Failed Login Attempts... ║ |
| | ╚════════════════════════════════════════════╝ |
| | |
| | The Synchronet Mail Server "SendMail Thread" can be configured via [[util:SCFG]]:Servers->Mail Server->SendMail Support: |
| | |
| | ╔═══════════════════════════════════════════╗ |
| | ║ SendMail Support ║ |
| | ╠═══════════════════════════════════════════╣ |
| | ║ │Enabled Yes ║ |
| | ║ │Rescan Interval 1 hour ║ |
| | ║ │Connect Timeout 30 seconds ║ |
| | ║ │Auto-exempt Recipients Yes ║ |
| | ║ │Max Delivery Attempts 50 ║ |
| | ║ │Delivery Method Direct ║ |
| | ╚═══════════════════════════════════════════╝ |
| | |
| | ... via [[monitor:SBBSCTRL]]:Mail->Configure: |
| | |
| | {{:server:sbbsctrl.3.20.mail.config.png|}} |
| | |
| | ... or by editing the ''[Mail]'' section fo the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file. |
| | |
| | ==== sbbs.ini ==== |
| | |
| | The ''[mail]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following configuration settings (''key = value'' lines): |
| | |
| | ^ Key ^ Default Value ^ Description ^ |
| | | AutoStart | true | Automatically start up the server (manual is only supported in [[monitor:sbbsctrl]]) | |
| | | Interface | [global] | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming SMTP/SMTPS connections | |
| | | POP3Interface | Interface | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming POP3/POP3S connections | |
| | | OutboundInterface | [global] | IPv4 network interface to use for outgoing SMTP/SMTPS connections (0.0.0.0 = //any interface//) | |
| | | SMTPPort | 25 | TCP port number to listen on for incoming SMTP mail-delivery connections | |
| | | SubmissionPort | 587 | TCP port number to listen on for incoming SMTP mail-submission connections | |
| | | TLSSubmissionPort | 465 | TCP port number to listen on for incoming SMTPS (encrypted) mail-submission connections | |
| | | POP3Port | 110 | TCP port number to listen on for incoming POP3 mail-retrieval connections | |
| | | TLSPOP3Port | 995 | TCP port number to listen on for incoming POP3S (encrypted) mail-retrieval connections | |
| | | MaxClients | 10 | Maximum number of simultaneous incoming TCP sessions supported | |
| | | MaxConcurrentConnections | 0 | Maximum number of concurrent connections (without login) from the same IP address (0 = unlimited) | |
| | | MaxInactivity | 120 | Maximum amount of TCP session inactivity before timeout and disconnection (in seconds) | |
| | | MaxDeliveryAttempts | 50 | Maximum number of outbound mail delivery attempts before mail is bounced back to sender | |
| | | RescanFrequency | 60M | Frequency (in seconds) of mail base re-scans for outbound mail to be sent/re-sent | |
| | | SemFileCheckFrequency | 2 | Frequency (in seconds) of checks for semaphore files | |
| | | LinesPerYield | 10 | Interval (in message body lines) of thread-yields during message receive (0 = none) | |
| | | MaxRecipients | 100 | Maximum number of mail recipients for a single inbound SMTP mail message | |
| | | MaxMsgSize | 20MB | Maximum size of incoming SMTP mail messages, in bytes | |
| | | MaxMsgsWaiting | 100 | Maximum number of messages allowed in a (non-W-exempt) user's inbox | |
| | | ConnectTimeout | 30 | Timeout (in seconds) before blocked outbound SMTP/TCP connections are aborted | |
| | | HostName | [global] | Hostname of this server | |
| | | TempDirectory | [global] | Directory to use for the storage of temporary files | |
| | | RelayServer | | Hostname or IP address of SMTP server to relay outbound mail through (requires ''RELAY_TX'' option) | |
| | | RelayPort | 25 | TCP port number to connect with when relaying mail to RelayServer | |
| | | RelayUsername | | Username used to authenticate with RelayServer | |
| | | RelayPassword | | Password used to authenticate with RelayServer | |
| | | DNSServer | <auto> | IP address of DNS server used to discover mail-exchange servers for outbound mail destinations | |
| | | PostTo | | Override the recipient of all SMTP-posted messages (on sub-boards) with this value (e.g. "All") | |
| | | DefaultUser | | Default recipient of mail for unrecognized recipient names (blank = none) | |
| | | DefaultCharset | | Default MIME Content-Type ''charset'' value when unspecified (e.g. ''IBM437'') | |
| | | DNSBlacklistHeader | X-DNSBL | Header value to add to incoming mail messages from DNS-Blacklisted servers | |
| | | DNSBlacklistSubject | SPAM | Word to insert into beginning of subject of mail messages from DNS-Blacklisted servers | |
| | | POP3Sound | | WAV file to play upon incoming POP3 connections (Windows only) | |
| | | InboundSound | | WAV file to play upon incoming SMTP/SMTPS connections (Windows only) | |
| | | OutboundSound | | WAV file to play upon outgoing SMTP/SMTPS connections (Windows only) | |
| | | ArchiveRequirements | | [[:Access]] Requirements for auto-archiving of non-SPAM mail messages (stored in ''.eml'' format) sent to or from select users | |
| | | JavaScript* | [global] | JavaScript-related settings for external mail processing | |
| | | LogLevel | [global] | Minimum severity of log messages to be displayed / stored | |
| | | BindRetryCount | [global] | Maximum number of TCP port bind attempts before failure | |
| | | BindRetryDelay | [global] | Delay (in seconds) between TCP port bind retries | |
| | | LoginAttempt* | [global] | Failed login attempt throttling / filtering / banning | |
| | | Options | ''ALLOW_POP3'' | Mail server option flags (see below for details) | |
| | |
| | === Options === |
| | |
| | The ''Options'' key of the ''[mail]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following option flags (separated by a ''|'' character): |
| | |
| | ^ Option ^ Description ^ |
| | | USE_SUBMISSION_PORT | Support mail submissions on the SMTP submission port | |
| | | TLS_SUBMISSION | Support incoming SMTP Submissions (encrypted) connections | |
| | | ALLOW_POP3 | Support incoming POP3 connections for BBS users to use mail clients to retrieve the mail in their BBS inbox | |
| | | DEBUG_POP3 | Log all POP3 activity (Debug log level) | |
| | | TLS_POP3 | Support incoming POP3S (POP3/TLS) connections | |
| | | NO_READ_POP3 | Do not mark POP3-retrieved mail messages as "Read" | |
| | | DEBUG_TX | Log all transmissions (Debug log level) | |
| | | DEBUG_RX_HEADER | Log headers of all received messages (Debug log level)| |
| | | DEBUG_RX_BODY | Log body text of all received messages (Debug log level)| |
| | | DEBUG_RX_RSP | Log all received responses (Debug log level) | |
| | | ALLOW_SYSOP_ALIASES | Allow email to received for various administrative aliases (e.g. "sysop", "postmaster") to be delivered to the sysop | |
| | | NO_NOTIFY | Do not send telegrams to users notifying them of newly received email | |
| | | NO_HOST_LOOKUP | Do not resolve/log hostnames of incoming TCP connections | |
| | | USE_TCP_DNS | Use TCP instead of UDP for MX-record queries using DNS | |
| | | NO_SENDMAIL | Do not send outbound Internet email | |
| | | ALLOW_RELAY | Allow authenticated users to relay Internet email through this server | |
| | | SMTP_AUTH_VIA_IP | Authenticate users via IP address when supported | |
| | | DNSBL_REFUSE | Actively refuse all mail sessions from DNS-blacklisted servers | |
| | | DNSBL_IGNORE | Ignore (silently-discard) mail from DNS-blacklisted servers | |
| | | DNSBL_BADUSER | Block (report "invalid mailbox") mail from DNS-blacklisted servers | |
| | | DNSBL_CHKRECVHDRS | Check "Received" headers in mail messages for DNS-blacklisted servers | |
| | | DNSBL_THROTTLE | Throttle mail sessions from DNS-blacklisted servers | |
| | | DNSBL_SPAMHASH | Store hashes of confirmed SPAM messages for later comparison | |
| | | SEND_INTRANSIT | Send mail that is marked 'in-transit' (not recommended) | |
| | | RELAY_TX | Relay outbound SMTP mail through an intermediary SMTP RelayServer | |
| | | RELAY_AUTH_PLAIN | When relaying mail to a RelayServer, use SMTP-PLAIN AUTH | |
| | | RELAY_AUTH_LOGIN | When relaying mail to a RelayServer, use SMTP-LOGIN AUTH | |
| | | RELAY_AUTH_CRAM_MD5 | When relaying mail to a RelayServer, use SMTP-CRAM_MD5 AUTH | |
| | | NO_AUTO_EXEMPT | Do not automatically exempt outbound mail recipients in ''dnsbl_exempt.cfg'' | |
| | | NO_RECYCLE | Do not allow this server to be automatically recycled by external event | |
| | | KILL_READ_SPAM | Mark received SPAM messages for "Kill after read" | |
| | |
| | |
| | ===== External Mail Processors ===== |
| |
| In-bound e-mail (received via SMTP) can be intercepted and modified via one or more external mail processors. | In-bound e-mail (received via SMTP) can be intercepted and modified via one or more external mail processors. |
| | **message_text** | ''SBBS_SMTP.*.msg'' | [[https://www.rfc-editor.org/rfc/rfc5322|RFC-822]] | Complete message header and body as received via SMTP | | | **message_text** | ''SBBS_SMTP.*.msg'' | [[https://www.rfc-editor.org/rfc/rfc5322|RFC-822]] | Complete message header and body as received via SMTP | |
| | **new_message_text** | ''SBBS_SMTP.*.new'' | [[https://www.rfc-editor.org/rfc/rfc5322|RFC-822]] | New (replacement) message header and body (optional) | | | **new_message_text** | ''SBBS_SMTP.*.new'' | [[https://www.rfc-editor.org/rfc/rfc5322|RFC-822]] | New (replacement) message header and body (optional) | |
| | **recipient_list** | ''SBSB_SMTP.*.lst'' | ''[[config:ini_files|.ini]]'' |List of all SMTP recipients for this message (see below for details) | | | **recipient_list** | ''SBBS_SMTP.*.lst'' | ''[[config:ini_files|.ini]]'' |List of all SMTP recipients for this message (see below for details) | |
| | **processing_error** | ''SBBS_SMTP.*.err'' | US-ASCII | File that if created will reject this message with an SMTP error | | | **processing_error** | ''SBBS_SMTP.*.err'' | US-ASCII | File that if created will reject this message with an SMTP error | |
| | **log_text** | ''SBBS_SMTP.*.log'' | US-ASCII | If created will include debug output from the external mail processor to be logged | | | **log_text** | ''SBBS_SMTP.*.log'' | US-ASCII | If created will include debug output from the external mail processor to be logged | |
| Since the file **names** contain SMTP-session specific information (e.g. numbers), the filenames must be passed from the Mail Server to external mail processors via command-line or JavaScript properties. | Since the file **names** contain SMTP-session specific information (e.g. numbers), the filenames must be passed from the Mail Server to external mail processors via command-line or JavaScript properties. |
| |
| == Message Text == | === Message Text === |
| |
| An external mail processor may either modify the **message_text** file in-place or create a **new_message_text** will be used in its place. | An external mail processor may either modify the **message_text** file in-place or create a **new_message_text** file that will be used in its place. |
| |
| == Recipient List == | === Recipient List === |
| |
| SMTP envelop information is stored in the **recipient_list** file. | SMTP envelop information is stored in the **recipient_list** file. |
| * The ''ToExt'' value contains the recipient's user number on the BBS, when relevant | * The ''ToExt'' value contains the recipient's user number on the BBS, when relevant |
| |
| === Configuration === | ==== Configure ==== |
| |
| The mail processors are configured in the ''[[dir:ctrl]]/[[config:mailproc.ini]]'' file. | The mail processors are configured in the ''[[dir:ctrl]]/[[config:mailproc.ini]]'' file. |
| | ''Native'' | ''false'' | The mail process is a native (not JavaScript) program | | | ''Native'' | ''false'' | The mail process is a native (not JavaScript) program | |
| | ''IgnoreOnError'' | ''false'' | If there's an error reported, ignore it | | | ''IgnoreOnError'' | ''false'' | If there's an error reported, ignore it | |
| | ''To'' | //none// | A comma-separate list of possible recipient matches (name or name@address) | | | ''To'' | //none// | Comma-separate list of possible recipient matches (name or name@address, filter wildcards and ''!'' logic negation supported) | |
| | ''From'' | //none// | A required sender name | | | ''From'' | //none// | Comma-separate list of required sender names (filter wildcards and ''!'' logic negation supported) | |
| | ''AccessRequirements'' | //none// | Optional access requirements for the processor to run | | | ''AccessRequirements'' | //none// | Optional access requirements for the processor to run | |
| | ''ProcessSPAM''' | ''true'' | Set to ''false'' to not process SPAM-tagged messages | | | ''ProcessSPAM''' | ''true'' | Set to ''false'' to not process SPAM-tagged messages | |
| | ''%?'' | platform | | | ''%?'' | platform | |
| | ''%%'' | percent symbol | | | ''%%'' | percent symbol | |
| |
| |
| ===== SendMail ===== | |
| |
| The Synchronet Mail Server's //SendMail Thread// is responsible for delivering Internet email using the SMTP or ESMTP protocols, optionally authenticating using PLAIN, LOGIN, or CRAM-MD5 SMTP-AUTH methods if required by an SMTP relay server. | |
| |
| Both Direct Delivery and Relaying (e.g. through intermediary mail server) is supported. | |
| |
| The SendMail Thread currently can service one outgoing SMTP/ESMTP session at a time. | |
| |
| The SendMail Thread will attempt to deliver securely (encrypted via TLS) when possible, though it will fall back to plain text delivery when necessary. | |
| |
| ===== Post Office ===== | |
| |
| The mail server also services authenticated "post office" requests from mail clients using the POP3 protocol, by default, on TCP port 110 and POP3S (Secure/encrypted POP3 over TLS) on TCP Port 995. | |
| |
| The POP3 server supports client authentication via the USER or APOP methods. | |
| |
| The POP3 server can service multiple simultaneous incoming sessions. | |
| |
| For IMAP support, see Deuce's [[service:imap|IMAP Service]]. | |
| |
| ==== Anti-SPAM ==== | |
| |
| The Synchronet POP3 server will filter-out SPAM-tagged mail automatically when a POP3 client logs in with ''//<username>//#nospam''. | |
| |
| Append "#nospam" to your login name/alias and any | |
| SPAM-tagged messages will not be listed/downloaded. This is useful if for | |
| example you use POP3 to download mail to your phone and have limited | |
| storage or sorting options. The SPAM-tagged messages will remain in your | |
| inbox on the BBS so you should use another POP3 or local mail client to | |
| download and delete those messages (which could potentially include | |
| false positives). | |
| |
| ===== sbbs.ini ===== | |
| |
| The ''[mail]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following configuration settings (''key = value'' lines): | |
| |
| ^ Key ^ Default Value ^ Description ^ | |
| | AutoStart | true | Automatically start up the server (manual is only supported in [[monitor:sbbsctrl]]) | | |
| | Interface | [global] | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming SMTP/SMTPS connections | | |
| | POP3Interface | Interface | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming POP3/POP3S connections | | |
| | OutboundInterface | [global] | IPv4 network interface to use for outgoing SMTP/SMTPS connections (0.0.0.0 = //any interface//) | | |
| | SMTPPort | 25 | TCP port number to listen on for incoming SMTP mail-delivery connections | | |
| | SubmissionPort | 587 | TCP port number to listen on for incoming SMTP mail-submission connections | | |
| | TLSSubmissionPort | 465 | TCP port number to listen on for incoming SMTPS (encrypted) mail-submission connections | | |
| | POP3Port | 110 | TCP port number to listen on for incoming POP3 mail-retrieval connections | | |
| | TLSPOP3Port | 995 | TCP port number to listen on for incoming POP3S (encrypted) mail-retrieval connections | | |
| | MaxClients | 10 | Maximum number of simultaneous incoming TCP sessions supported | | |
| | MaxConcurrentConnections | 0 | Maximum number of concurrent connections (without login) from the same IP address (0 = unlimited) | | |
| | MaxInactivity | 120 | Maximum amount of TCP session inactivity before timeout and disconnection (in seconds) | | |
| | MaxDeliveryAttempts | 50 | Maximum number of outbound mail delivery attempts before mail is bounced back to sender | | |
| | RescanFrequency | 60M | Frequency (in seconds) of mail base re-scans for outbound mail to be sent/re-sent | | |
| | SemFileCheckFrequency | 2 | Frequency (in seconds) of checks for semaphore files | | |
| | LinesPerYield | 10 | Interval (in message body lines) of thread-yields during message receive (0 = none) | | |
| | MaxRecipients | 100 | Maximum number of mail recipients for a single inbound SMTP mail message | | |
| | MaxMsgSize | 20MB | Maximum size of incoming SMTP mail messages, in bytes | | |
| | MaxMsgsWaiting | 100 | Maximum number of messages allowed in a (non-W-exempt) user's inbox | | |
| | ConnectTimeout | 30 | Timeout (in seconds) before blocked outbound SMTP/TCP connections are aborted | | |
| | HostName | [global] | Hostname of this server | | |
| | TempDirectory | [global] | Directory to use for the storage of temporary files | | |
| | RelayServer | | Hostname or IP address of SMTP server to relay outbound mail through (requires ''RELAY_TX'' option) | | |
| | RelayPort | 25 | TCP port number to connect with when relaying mail to RelayServer | | |
| | RelayUsername | | Username used to authenticate with RelayServer | | |
| | RelayPassword | | Password used to authenticate with RelayServer | | |
| | DNSServer | <auto> | IP address of DNS server used to discover mail-exchange servers for outbound mail destinations | | |
| | DefaultUser | | Default recipient of mail for unrecognized recipient names (blank = none) | | |
| | DefaultCharset | | Default MIME Content-Type ''charset'' value when unspecified (e.g. ''IBM437'') | | |
| | DNSBlacklistHeader | X-DNSBL | Header value to add to incoming mail messages from DNS-Blacklisted servers | | |
| | DNSBlacklistSubject | SPAM | Word to insert into beginning of subject of mail messages from DNS-Blacklisted servers | | |
| | POP3Sound | | WAV file to play upon incoming POP3 connections (Windows only) | | |
| | InboundSound | | WAV file to play upon incoming SMTP/SMTPS connections (Windows only) | | |
| | OutboundSound | | WAV file to play upon outgoing SMTP/SMTPS connections (Windows only) | | |
| | JavaScript* | [global] | JavaScript-related settings for external mail processing | | |
| | LogLevel | [global] | Minimum severity of log messages to be displayed / stored | | |
| | BindRetryCount | [global] | Maximum number of TCP port bind attempts before failure | | |
| | BindRetryDelay | [global] | Delay (in seconds) between TCP port bind retries | | |
| | LoginAttempt* | [global] | Failed login attempt throttling / filtering / banning | | |
| | Options | ''ALLOW_POP3'' | Mail server option flags (see below for details) | | |
| |
| ==== Options ==== | |
| |
| The ''Options'' key of the ''[mail]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following option flags (separated by a ''|'' character): | |
| |
| ^ Option ^ Description ^ | |
| | USE_SUBMISSION_PORT | Support mail submissions on the SMTP submission port | | |
| | TLS_SUBMISSION | Support incoming SMTP Submissions (encrypted) connections | | |
| | ALLOW_POP3 | Support incoming POP3 connections for BBS users to use mail clients to retrieve the mail in their BBS inbox | | |
| | DEBUG_POP3 | Log all POP3 activity (Debug log level) | | |
| | TLS_POP3 | Support incoming POP3S (POP3/TLS) connections | | |
| | DEBUG_TX | Log all transmissions (Debug log level) | | |
| | DEBUG_RX_HEADER | Log headers of all received messages (Debug log level)| | |
| | DEBUG_RX_BODY | Log body text of all received messages (Debug log level)| | |
| | DEBUG_RX_RSP | Log all received responses (Debug log level) | | |
| | ALLOW_RX_BY_NUMBER | Allow email to be received by user number in addition to name/alias (not recommended) | | |
| | ALLOW_SYSOP_ALIASES | Allow email to received for various administrative aliases (e.g. "sysop", "postmaster") to be delivered to the sysop | | |
| | NO_NOTIFY | Do not send telegrams to users notifying them of newly received email | | |
| | NO_HOST_LOOKUP | Do not resolve/log hostnames of incoming TCP connections | | |
| | USE_TCP_DNS | Use TCP instead of UDP for MX-record queries using DNS | | |
| | NO_SENDMAIL | Do not send outbound Internet email | | |
| | ALLOW_RELAY | Allow authenticated users to relay Internet email through this server | | |
| | SMTP_AUTH_VIA_IP | Authenticate users via IP address when supported | | |
| | DNSBL_REFUSE | Actively refuse all mail sessions from DNS-blacklisted servers | | |
| | DNSBL_IGNORE | Ignore (silently-discard) mail from DNS-blacklisted servers | | |
| | DNSBL_BADUSER | Block (report "invalid mailbox") mail from DNS-blacklisted servers | | |
| | DNSBL_CHKRECVHDRS | Check "Received" headers in mail messages for DNS-blacklisted servers | | |
| | DNSBL_THROTTLE | Throttle mail sessions from DNS-blacklisted servers | | |
| | DNSBL_SPAMHASH | Store hashes of confirmed SPAM messages for later comparison | | |
| | SEND_INTRANSIT | Send mail that is marked 'in-transit' (not recommended) | | |
| | RELAY_TX | Relay outbound SMTP mail through an intermediary SMTP RelayServer | | |
| | RELAY_AUTH_PLAIN | When relaying mail to a RelayServer, use SMTP-PLAIN AUTH | | |
| | RELAY_AUTH_LOGIN | When relaying mail to a RelayServer, use SMTP-LOGIN AUTH | | |
| | RELAY_AUTH_CRAM_MD5 | When relaying mail to a RelayServer, use SMTP-CRAM_MD5 AUTH | | |
| | NO_AUTO_EXEMPT | Do not automatically exempt outbound mail recipients in ''dnsbl_exempt.cfg'' | | |
| | NO_RECYCLE | Do not allow this server to be automatically recycled by external event | | |
| | KILL_READ_SPAM | Mark received SPAM messages for "Kill after read" | | |
| |
| |
| |
| |
| |
| ===== See Also ===== | ===== See Also ===== |