Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
server:mail [2018/03/04 20:33] – Reorganize this page a bit. Mention the POP3 server #nospam feature. Removed the (empty) ListServer section from this page. digital man | server:mail [2020/12/29 23:31] – [sbbs.ini] document MaxConcurrentConnections key digital man |
---|
cnnreport sub:dove-deb | cnnreport sub:dove-deb |
| |
==== Tags ==== | ==== Special Addresses ==== |
| Some specially formatted destination addresses (''RCPT TO'' addresses) are recognized and treated specially by the Synchronet SMTP server. |
| |
Incoming email is scanned for To: headers in the format ''<name>#<tag>@host'' | === FidoNet === |
| If the system supports [[network:FidoNet]]-style networking (has at least one address configured in [[util:SCFG]]->Networks->FidoNet->Addresses), then incoming FidoNet netmail messages are recognized with one of the following formats: |
| |
Tag is extracted, and if it is not found in ''data/user/<usernum>.smtptags'' it is | * ''//<name>//@f//<node>//.n//<net>//.z//<zone>//.fidonet'' |
sent to the user. If it DOES match a line in the smtptags file, the email | * ''//<name>//@p//<point>//.f//<node>//.n//<net>//.z//<zone>//.fidonet'' |
is rejected with a "no such user" error. | |
| |
Using this this feature allows you (the sysop) to easily create "temporary" email addresses. Once you | Example: ''rob.swindell@f705.n103.z1.fidonet'' |
start recieving spam on one tag, just disable it. | |
| Note: the ''.fidonet'' host suffix is required even if the destination network is an //othernet// (not technically part of FidoNet proper). This is a "virtual" TLD, no DNS lookup is performed by the mailserver for destination hostnames with this suffix. |
| |
| === Tags === |
| |
| The Synchronet Mail Server recognizes the incoming special address format: ''//<name>//#//<tag>//@//<host>//'' |
| |
| The //<tag>// is extracted from the address and if it is **not** found in the ''data/user/<usernum>.smtptags'' file, the mail message is |
| sent to the destination user. If the tag matches a line in the ''.smtptags'' file, the email is rejected by the mail server with a "no such user" error. |
| |
| This feature allows you (the sysop) to easily create and use "temporary" email addresses without requiring additional user accounts. Once you start receiving spam with a tag, just disable that tag by adding it to your ''.smtptags'' file. |
| |
==== Anti-SPAM ==== | ==== Anti-SPAM ==== |
download and delete those messages (which could potentially include | download and delete those messages (which could potentially include |
false positives). | 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 ^ |
| | Interface | [global] Interface | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming SMTP/SMTPS connections | |
| | POP3Interface | [global] Interface | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming POP3/POP3S connections | |
| | OutboundInterface | 0.0.0.0 | 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 | Hostname of this server | |
| | TempDirectory | [global] TempDirectory | 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) | |
| | NewMailNotice | "New e-mail from <%s>\r\n" | Format of telegram to send users upon receipt of incoming mail message | |
| | ForwardNotice | "and it was forwarded to: %s | Additional telegram text to send to recipient of automatically forwarded mail | |
| | JavaScript* | [global] JavaScript* | JavaScript-related settings for external mail processing | |
| | LogLevel | [global] LogLevel* | Minimum severity of log messages to be displayed / stored | |
| | BindRetryCount | [global] BindRetryCount | Maximum number of TCP port bind attempts before failure | |
| | BindRetryDelay | [global] BindRetryDelay | Delay (in seconds) between TCP port bind retries | |
| | LoginAttempt* | [global] LoginAttempt* | 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" | |
| | MUTE | Disable all sound (WAV) files from playing | |
| |
| |
| |
| |
===== See Also ===== | ===== See Also ===== |