Synchronet v3.18b-Win32 (install) has been released (Sept-2020).

Synchronet v3.19a, now under development, requires libarchive-dev to build successfully.

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
server:mail [2018/03/04 20:33]
digital man Reorganize this page a bit. Mention the POP3 server #nospam feature. Removed the (empty) ListServer section from this page.
server:mail [2021/07/31 19:49] (current)
digital man [Special Addresses] Correct the tag-block filename (its usernum.smtpblock not .smtptags)
Line 30: Line 30:
   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 Toheaders ​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>​.smtpblock''​ file, the mail message is 
 +sent to the destination user.  If the tag matches a line in the ''​.smtpblock''​ 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 ''​.smtpblock''​ file.
  
 ==== Anti-SPAM ==== ==== Anti-SPAM ====
Line 118: Line 129:
 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 ^
 +| 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) |
 +| 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-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" |
 +| MUTE                | Disable all sound (WAV) files from playing |
 +
 +
 +
  
 ===== See Also ===== ===== See Also =====

In Other Languages