Dedico aquest treball a Lluis Llach, per obrir els nous horitzons.
mailfromd
tr
, dc
, and sq
functionssed
functionmailfromd
Mailfromd
Command Line Syntax
mailfromd
with Various MTAs
calloutd
mfdbtool
mtasim
— a testing tool
This edition of the Mailfromd Manual, last updated 5 January 2024,
documents mailfromd
Version 9.0.
• Preface | Short description of this manual; brief history and acknowledgments. | |
• Intro | Introduction to Mailfromd. | |
• Building | Building the Package. | |
• Tutorial | Mailfromd Tutorial. | |
• MFL | The Mail Filtering Language. | |
• Library | The MFL Library Functions. | |
• Using MFL Mode | Using the GNU Emacs MFL Mode. | |
• Mailfromd Configuration | Configuring mailfromd .
| |
• Invocation | How to Start and Stop mailfromd .
| |
• MTA Configuration | Using mailfromd with Various MTAs
| |
• calloutd | A Stand-Alone Callout Daemon. | |
• mfdbtool | A Database Management Tool. | |
• mtasim | An MTA simulator. | |
• pmult | Pmilter multiplexer program. | |
• Reporting Bugs | How to Report a Bug. | |
Appendices | ||
---|---|---|
• Gacopyz | ||
• Time and Date Formats | ||
• Upgrading | ||
• Copying This Manual | The GNU Free Documentation License. | |
• Concept Index | Index of Concepts. | |
• This Manual in Other Formats | ||
— The Detailed Node Listing — Preface | ||
• History | Short mailfromd history.
| |
• Acknowledgments | Acknowledgments. | |
Introduction to | ||
• Conventions | Typographical conventions. | |
• Overview | Mailfromd at a first glance | |
• SAV | Principles of Sender Address Verification. | |
• Rate Limit | Controlling Mail Sending Rate. | |
• SPF | SPF, DKIM, and others. | |
Sender Address Verification. | ||
• Limitations | ||
Tutorial | ||
• Start Up | ||
• Simplest Configurations | ||
• Conditional Execution | ||
• Functions and Modules | ||
• Domain Name System | ||
• Checking Sender Address | ||
• SMTP Timeouts | ||
• Avoiding Verification Loops | ||
• HELO Domain | ||
• rset | ||
• Controlling Number of Recipients | ||
• Sending Rate | ||
• Greylisting | ||
• Local Account Verification | ||
• Databases | ||
• Testing Filter Scripts | ||
• Run Mode | ||
• Examining Defaults | ||
• Logging and Debugging | ||
• Runtime errors | ||
• Notes | ||
Databases | ||
• Database Formats | ||
• Basic Database Operations | ||
• Database Maintenance | ||
Run Mode | ||
• top-block | The Top of a Script File. | |
• getopt | Parsing Command Line Arguments. | |
Mail Filtering Language | ||
• Comments | Comments. | |
• include | ||
• line | ||
• Generated warnings and errors | ||
• Pragmas | Pragmatic comments. | |
• Data Types | ||
• Numbers | ||
• Literals | ||
• Here Documents | ||
• Sendmail Macros | ||
• Constants | ||
• Variables | ||
• Back references | ||
• Handlers | ||
• Special handlers | Initialization and cleanup handlers. | |
• Functions | Functions. | |
• Expressions | Expressions. | |
• Shadowing | Variable and Constant Shadowing. | |
• Statements | ||
• Conditionals | Conditional Statements. | |
• Loops | Loop Statements. | |
• Exceptions | Exceptional Conditions and their Handling. | |
• Polling | Sender Verification Tests. | |
• Modules | Modules are Collections of Useful Functions. | |
• mfmod | Dynamically Loaded Modules. | |
• Preprocessor | Input Text Is Preprocessed. | |
• Filter Script Example | A Working Filter Script Explained. | |
• Reserved Words | A Reference List of Reserved Words. | |
Pragmatic comments | ||
• prereq | Pragma prereq. | |
• stacksize | Pragma stacksize. | |
• regex | Pragma regex. | |
• dbprop | Pragma dbprop. | |
• greylist | Pragma greylist. | |
• miltermacros | Pragma miltermacros. | |
• provide-callout | Pragma provide-callout. | |
Constants | ||
• Built-in constants | ||
Variables | ||
• Predefined variables | ||
Functions | ||
• Some Useful Functions | ||
Expressions | ||
• Constant expressions | String and Numeric Constants. | |
• Function calls | A Function Call is an Expression. | |
• Concatenation | String Concatenation. | |
• Arithmetic operations | ‘+’, ‘-’, etc. | |
• Bitwise shifts | ‘<<’ and ‘>>’. | |
• Relational expressions | ‘=’, ‘<’, etc. | |
• Special comparisons | matches , mx matches , etc.
| |
• Boolean expressions | and , or , not .
| |
• Precedence | How various operators nest. | |
• Type casting | ||
Statements | ||
• Actions | Actions control the handling of the mail. | |
• Assignments | ||
• Pass | ||
• Echo | ||
Exceptional Conditions | ||
• Built-in Exceptions | ||
• User-defined Exceptions | ||
• Catch and Throw | ||
Modules | ||
• module structure | Declaring Modules | |
• scope of visibility | ||
• import | Require and Import | |
Dynamically Loaded Modules | ||
• Loadable Library | ||
• Interface Module | ||
• mfmodnew | Creating a Mfmod Structure | |
Creating a Mfmod Structure | ||
• mfmodnew invocation | ||
The MFL Library Functions | ||
• Macro access | ||
• Character translation | ||
• String transformation | ||
• String manipulation | ||
• String formatting | ||
• Character Type | ||
• I/O functions | ||
• Filtering functions | ||
• Email processing functions | ||
• Envelope modification functions | ||
• Header modification functions | ||
• Body Modification Functions | ||
• Message modification queue | ||
• Mail header functions | ||
• Mail body functions | ||
• EOM Functions | ||
• Current Message Functions | ||
• Mailbox functions | ||
• Message functions | ||
• Quarantine functions | ||
• SMTP Callout functions | ||
• Compatibility Callout functions | ||
• Internet address manipulation functions | ||
• DNS functions | ||
• Geolocation functions | ||
• Database functions | ||
• Control database | ||
• System functions | ||
• Passwd functions | ||
• Sieve Interface | ||
• Interfaces to Third-Party Programs | ||
• Rate limiting functions | ||
• Greylisting functions | ||
• Special test functions | ||
• Mail Sending Functions | ||
• Blacklisting Functions | ||
• SPF Functions | ||
• DKIM | ||
• Sockmaps | ||
• NLS Functions | ||
• Syslog Interface | ||
• Debugging Functions | ||
• Informative Functions | ||
• Mfmod Interface | ||
Message Functions | ||
• Header functions | ||
• Message body functions | ||
• MIME functions | ||
• Message digest functions | ||
Interfaces to Third-Party Programs | ||
• SpamAssassin | ||
• ClamAV | ||
DKIM | ||
• Setting up a DKIM record | ||
Configuring | ||
• conf-types | Special Configuration Data Types | |
• conf-base | Base Mailfromd Configuration | |
• conf-preprocessor | Preprocessor Configuration | |
• conf-resolver | DNS Resolver Configuration | |
• conf-server | Server Configuration | |
• conf-milter | Milter Connection Configuration | |
• conf-debug | Logging and Debugging configuration | |
• conf-timeout | Timeout Configuration | |
• conf-callout | Call-out Configuration | |
• conf-priv | Privilege Configuration | |
• conf-database | Database Configuration | |
• conf-runtime | Runtime Constants | |
• conf-mailutils | Standard Mailutils Statements | |
| ||
• options | Command Line Options. | |
• Starting and Stopping | How to Start and Shut Down the Daemon. | |
Command Line Options. | ||
• Operation Modifiers | ||
• General Settings | ||
• Preprocessor Options | ||
• Timeout Control | ||
• Logging and Debugging Options | ||
• Informational Options | ||
Using | ||
• Sendmail | ||
• MeTA1 | ||
• Postfix | ||
| ||
• config-calloutd | Calloutd Configuration. | |
• invocation-calloutd | Calloutd Command-Line Options. | |
• protocol-calloutd | The Callout Protocol. | |
Calloutd Configuration | ||
• conf-calloutd-setup | calloutd General Setup.
| |
• conf-calloutd-server | The server Statement.
| |
• conf-calloutd-log | calloutd Logging.
| |
| ||
• Invoking mfdbtool | ||
• Configuring mfdbtool | ||
| ||
• interactive mode | ||
• expect commands | ||
• traces | ||
• daemon mode | ||
• command summary | ||
• option summary | ||
Pmilter multiplexer program. | ||
• pmult configuration | ||
• pmult example | ||
• pmult invocation | ||
Pmult Configuration | ||
• pmult-conf | Multiplexer Configuration. | |
• pmult-macros | Translating MeTA1 macros. | |
• pmult-client | Pmult Client Configuration. | |
• pmult-debug | Debugging Pmult. | |
Upgrading | ||
• 8140-8150 | Upgrading from 8.14 to 8.15 | |
• 8130-8140 | Upgrading from 8.13 to 8.14 | |
• 870-880 | Upgrading from 8.7 to 8.8 | |
• 850-860 | Upgrading from 8.5 to 8.6 | |
• 820-830 | Upgrading from 8.2 to 8.3 (or 8.4) | |
• 700-800 | Upgrading from 7.0 to 8.0 | |
• 600-700 | Upgrading from 6.0 to 7.0 | |
• 5x0-600 | Upgrading from 5.x to 6.0 | |
• 500-510 | Upgrading from 5.0 to 5.1 | |
• 440-500 | Upgrading from 4.4 to 5.0 | |
• 43x-440 | Upgrading from 4.3.x to 4.4 | |
• 420-43x | Upgrading from 4.2 to 4.3.x | |
• 410-420 | Upgrading from 4.1 to 4.2 | |
• 400-410 | Upgrading from 4.0 to 4.1 | |
• 31x-400 | Upgrading from 3.1.x to 4.0 | |
• 30x-31x | Upgrading from 3.0.x to 3.1 | |
• 2x-30x | Upgrading from 2.x to 3.0.x | |
• 1x-2x | Upgrading from 1.x to 2.x | |