Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
server:mail [2021/07/31 19:49] – [Special Addresses] Correct the tag-block filename (its usernum.smtpblock not .smtptags) digital man | server:mail [2024/03/04 18:30] (current) – [Configure] Updated SCFG screenshot digital man | ||
---|---|---|---|
Line 16: | Line 16: | ||
The SMTP server also supports the SEND, SAML and SOML commands for delivering instant messages (a.k.a. telegrams) to users of the BBS. | The SMTP server also supports the SEND, SAML and SOML commands for delivering instant messages (a.k.a. telegrams) to users of the BBS. | ||
+ | |||
+ | ==== Recipients ==== | ||
+ | When receiving email messages via SMTP, the Synchronet mail server can match recipient names to a BBS user account by their alias or optionally, their real name. | ||
+ | |||
+ | === Special Characters === | ||
+ | Non-alphanumeric characters are ignored when matching recipient names to BBS user aliases. So for example, the following will all match the user " | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | === Real Names === | ||
+ | When matching recipient names to BBS real names (if so enabled by the sysop by setting SCFG-> | ||
+ | |||
+ | === Special Aliases === | ||
+ | Recipient names configured in '' | ||
+ | |||
+ | === User Number === | ||
+ | Receiving by user account number is also optionally supported, not not encouraged and disabled by default. | ||
==== Special Prefixes ==== | ==== Special Prefixes ==== | ||
Line 95: | Line 114: | ||
{{: | {{: | ||
- | ==== External Mail Processors ==== | + | |
- | FIXME | + | |
===== SendMail ===== | ===== SendMail ===== | ||
Line 130: | Line 148: | ||
false positives). | false positives). | ||
- | ===== sbbs.ini ===== | + | ===== Configure ===== |
+ | |||
+ | The Synchronet Mail Server can be configured via [[util: | ||
+ | |||
+ | < | ||
+ | ╔════════════════════════════════════════════╗ | ||
+ | ║ Mail Server | ||
+ | ╠════════════════════════════════════════════╣ | ||
+ | ║ │Enabled | ||
+ | ║ │Log Level | ||
+ | ║ │SMTP Interfaces | ||
+ | ║ │SMTP Support | ||
+ | ║ │Submission Support | ||
+ | ║ │Submission/ | ||
+ | ║ │POP3 Interfaces | ||
+ | ║ │POP3 Support | ||
+ | ║ │POP3/TLS Support | ||
+ | ║ │Max Clients | ||
+ | ║ │Max Inactivity | ||
+ | ║ │Max Concurrent Connections | ||
+ | ║ │Max Recipients Per Message | ||
+ | ║ │Max Messages Waiting | ||
+ | ║ │Max Receive Message Size 20M bytes ║ | ||
+ | ║ │Default Recipient | ||
+ | ║ │Receive By User Number | ||
+ | ║ │Receive By Sysop Aliases | ||
+ | ║ │Notify Local Recipients | ||
+ | ║ │Notify Offline Recipients | ||
+ | ║ │Allow Users to Relay Mail | ||
+ | ║ │Lookup Client Hostname | ||
+ | ║ │Check Headers against DNSBL | ||
+ | ║ │DNS-Blacklisted Servers | ||
+ | ║ │Hash DNS-Blacklisted Msgs | ||
+ | ║ │Kill SPAM When Read | ||
+ | ║ │SendMail Support... | ||
+ | ║ │Login Requirements | ||
+ | ║ │JavaScript Settings... | ||
+ | ║ │Failed Login Attempts... | ||
+ | ╚════════════════════════════════════════════╝ | ||
+ | </ | ||
+ | |||
+ | ... via [[monitor: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ... or by editing the '' | ||
+ | |||
+ | ==== sbbs.ini | ||
The '' | The '' | ||
Line 169: | Line 234: | ||
| InboundSound | | InboundSound | ||
| OutboundSound | | OutboundSound | ||
- | | NewMailNotice | ||
- | | ForwardNotice | ||
| JavaScript* | | JavaScript* | ||
| LogLevel | | LogLevel | ||
Line 178: | Line 241: | ||
| Options | | Options | ||
- | ==== Options | + | === Options === |
The '' | The '' | ||
Line 214: | Line 277: | ||
| NO_RECYCLE | | NO_RECYCLE | ||
| KILL_READ_SPAM | | KILL_READ_SPAM | ||
- | | MUTE | Disable all sound (WAV) files from playing | | ||
+ | ===== External Mail Processors ===== | ||
+ | |||
+ | In-bound e-mail (received via SMTP) can be intercepted and modified via one or more external mail processors. | ||
+ | |||
+ | An external mail processor needs to create, remove or modify one or more files to have its impact | ||
+ | on the SMTP mail receive process. These files (created in the mail server' | ||
+ | |||
+ | ^ Name ^ Example Filename | ||
+ | | **message_text** | ||
+ | | **new_message_text** | ||
+ | | **recipient_list** | ||
+ | | **processing_error** | ||
+ | | **log_text** | ||
+ | |||
+ | 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 === | ||
+ | |||
+ | 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. | ||
+ | |||
+ | === Recipient List === | ||
+ | |||
+ | SMTP envelop information is stored in the **recipient_list** file. | ||
+ | |||
+ | The recipient list file has a '' | ||
+ | |||
+ | An external mail processor may add, remove, or modify recipients in the recipient list file. | ||
+ | |||
+ | An example recipient list file for 4 recipients (3 remote/ | ||
+ | |||
+ | <file ini> | ||
+ | [0] | ||
+ | To=jack.ryan@vert.synchro.net | ||
+ | ToExt=636 | ||
+ | ToNetType=5 | ||
+ | ToNetAddr=ryan.jack@gmail.com | ||
+ | [1] | ||
+ | To=steven.tyler@vert.synchro.net | ||
+ | ToExt=1080 | ||
+ | ToNetType=5 | ||
+ | ToNetAddr=someone@gmail.com | ||
+ | [2] | ||
+ | To=ricky.bobby@vert.synchro.net | ||
+ | ToExt=190 | ||
+ | [3] | ||
+ | To=austin.powers@vert.synchro.net | ||
+ | ToExt=418 | ||
+ | ToNetType=5 | ||
+ | ToNetAddr=another@yahoo.com | ||
+ | </ | ||
+ | |||
+ | * The '' | ||
+ | * The '' | ||
+ | * The '' | ||
+ | * The '' | ||
+ | |||
+ | ==== Configure ==== | ||
+ | |||
+ | The mail processors are configured in the '' | ||
+ | |||
+ | Each mail processor is specified in a separate " | ||
+ | mail processor name (or command-line) enclosed in square brackets (" | ||
+ | followed by a list of optional "key = value" pairs. | ||
+ | |||
+ | Supported '' | ||
+ | |||
+ | ^ Key ^ Default | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | If no '' | ||
+ | will be used as the command-line to execute. | ||
+ | |||
+ | Non-JavaScript mail processors (i.e. native executables), | ||
+ | '' | ||
+ | |||
+ | For a mail processor to only process mail received for specific name(s), | ||
+ | it must have a '' | ||
+ | |||
+ | Example: '' | ||
+ | process mail received for either '' | ||
+ | |||
+ | If no '' | ||
+ | incoming (SMTP) e-mail messages. | ||
+ | |||
+ | The '' | ||
+ | a list of zero or more strings to be used to determine which | ||
+ | sender addresses the mail processor should be executed for. | ||
+ | |||
+ | The strings in the to/from lists may use the Synchronet '' | ||
+ | |||
+ | == Pass-through == | ||
+ | |||
+ | If a '' | ||
+ | '' | ||
+ | forwarded (depending on the system configuration). | ||
+ | |||
+ | === JavaScript Variables === | ||
+ | |||
+ | The filenames referenced below may all be modified or created by the mail processor. | ||
+ | |||
+ | Additional (read-only) variables available to JavaScript mail processors: | ||
+ | |||
+ | ^ Variable | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | * See '' | ||
+ | |||
+ | JavaScript mail processors may be implemented as either a single " | ||
+ | string or an external JavaScript file (e.g. '' | ||
+ | |||
+ | External JavaScript mail processors ('' | ||
+ | or '' | ||
+ | If no file extension is specified on the command-line, | ||
+ | |||
+ | === Command-line Specifiers === | ||
+ | |||
+ | Command-line specifiers (variables) are available for use in external mail processor command-lines: | ||
+ | ^ Specifier ^ Description ^ | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
===== See Also ===== | ===== See Also ===== |