Mailfromd Manual (split by section):   Section:   Chapter:FastBack: Invocation   Up: Invocation   FastForward: MTA Configuration   Contents: Table of ContentsIndex: Concept Index

8.1 Command Line Options.

8.1.1 Operation Modifiers

--daemon

Run in daemon mode (default).

--run[=start]

Load the script named in the command line and execute the function named start, or ‘main’, if start is not given. See Run Mode, for a detailed description of this feature.

--show-defaults

Show compilation defaults. See Databases.

-t[state]
--test[=state]

Run in test mode. See Testing Filter Scripts. Default state is ‘envfrom’. This option implies --stderr (see --stderr).

8.1.2 General Settings

--callout-socket=string

Set socket for the default callout server. This is mainly useful together with the --mtasim option.

--foreground

Stay in foreground. When given this option, mailfromd will not disconnect itself from the controlling terminal and will run in the foreground.

-g name
--group=name

Retain the group name when switching to user privileges. See Starting and Stopping.

This option complements the group configuration statement (see group).

--include=dir
-I dir

Add the directory dir to the list of directories to be searched for header files. This will affect the functioning of #include statement. See include, for a discussion of file inclusion.

--mailer=url
-M url

Set the URL of the mailer to use. See Mail Sending Functions.

--mtasim

This option is reserved for use by mtasim (see mtasim).

-O[level]
--optimize[=level]

Set optimization level for code generator. Two levels are implemented: ‘0’, meaning no optimization, and ‘1’, meaning full optimization.

-p string
--port=string
--milter-socket=string

Set communication socket. Overrides the listen configuration statement, which you are advised to use instead (see listen).

--pidfile=file

Set pidfile name. Overrides the pidfile configuration statement, which you are advised to use instead (see pidfile).

--relayed-domain-file=file

Read relayed domains from file. Overrides the relayed-domain-file configuration statement (see relayed-domain-file), which you are advised to use instead. See Avoiding Verification Loops, and the description of relayed function (see relayed) for more information.

--resolv-conf-file=file

Read resolver settings from file, instead of the default /etc/resolv.conf.

--state-directory=dir

Set new program state directory. See Local state directory, for the description of this directory and its purposes. This option overrides the settings of state-directory configuration statement, described in state-directory.

-S ip
--source-ip=ip

Set source address for TCP connections. Overrides the ‘source-ip’ configuration statement, which you are advised to use instead (see source-ip).

-u name
--user name

Switch to this user privileges after startup. Overrides the user configuration file statement, which you are advised to use instead (see user). Default user is ‘mail’.

-v var=value
--variable var=value

Assign value to the global variable var. The variable must be declared in your startup script. See overriding initial values, for a detailed discussion of this option.

8.1.3 Preprocessor Options

Following command line options control the preprocessor feature. See Preprocessor, for a detailed discussion of these.

--no-preprocessor

Do not run the preprocessor.

--preprocessor=command

Use command as the external preprocessor instead of the default m4.

-D name[=value]
--define=name[=value]

Define a preprocessor symbol name to have a value value.

-U name
--undefine=name

Undefine the preprocessor symbol name.

-E

Stop after the preprocessing stage; do not run the compiler proper. The output is in the form of preprocessed source code, which is sent to the standard output.

8.1.4 Timeout Control

See time interval specification, for information on interval format.

--milter-timeout=interval

Set MTA connection timeout. Overrides milter-timeout statement in the mailfromd configuration file, which you are advised to use instead (see milter-timeout).

8.1.5 Logging and Debugging Options

--location-column
--no-location-column

Mention column number in error messages. See location-column. Use --no-location-column to disable

-d string
--debug=string

Set debugging level. See Logging and Debugging.

--dump-code

Parse and compile the script file and dump the disassembled listing of the produced code to the terminal. See Logging and Debugging.

--dump-grammar-trace

Enable debugging the script file parser. While parsing the file, the detailed dump of the parser states and tokens seen will be output.

--dump-lex-trace

Enable debugging the lexical analyzer. While parsing the script file, the detailed dump of the lexer states and matched rules will be output.

--dump-macros

Show Sendmail macros used in the script file. The macro names are displayed as comma-separated lists, grouped by handler names. See Sendmail, for a detailed description of this option and its usage.

--dump-tree

Parse and compile the script file and dump the parse tree in a printable form to the terminal.

--dump-xref

Print a cross-reference of variables used in the filter script. See Testing Filter Scripts.

-E

Stop after the preprocessing stage; do not run the compiler proper. The output is in the form of preprocessed source code, which is sent to the standard output. See Preprocessor.

--lint

Check script file syntax and exit. If the file is OK, return 0 to the shell, otherwise print appropriate messages to stderr and exit with code 78 (‘configuration error’).

--single-process

Do not fork sub-processes to serve requests. This option is meant to assist in debugging mailfromd. Don’t use it for anything else but for debugging, as it terribly degrades performance!

--stack-trace
--no-stack-trace

Add MFL stack trace information to runtime error output. Overrides stack-trace configuration statement. Use the --no-stack-trace to disable trace information.

See tracing runtime errors, for more information on this feature.

--gacopyz-log=level

Set desired logging level for gacopyz library (see Gacopyz). There are five logging levels. The following table lists them in order of decreasing priority:

fatal

Log fatal errors.

err

Log error messages.

warn

Log warning messages.

info

Log informational messages. In particular, this enables printing messages on each subprocess startup and termination, which look like that:

Apr 28 09:00:11 host mailfromd[9411]: connect
    from 192.168.10.1:50398
Apr 28 09:00:11 host mailfromd[9411]: finishing
    connection

This level can be useful for debugging your scripts.

debug

Log debugging information.

proto

Log Milter protocol interactions. This level prints huge amounts of information, in particular it displays dumps of each Milter packet sent and received.

Although it is possible to set these levels independently of each other, it is seldom practical. Therefore, the option --gacopyz-log=level enables all logging levels from level up. For example, --gacopyz-log=warn enables log levels ‘warn’, ‘err’ and ‘fatal’. It is the default. If you need to trace each subprocess startup and shutdown, set --gacopyz-log=info. Setting the logging level to ‘proto’ can be needed only for Gacopyz developers, to debug the protocol.

See Testing Filter Scripts.

--logger=mech

Set logger mechanism (mech is one of ‘stderr’, ‘syslog’, ‘syslog:async’). See Logging and Debugging.

--log-facility=facility

Output logs to syslog facility.

--log-tag=string

Tag syslog entries with the given string, instead of the program name.

--source-info
--no-source-info

Include C source information in debugging messages. This is similar to setting line-info yes in the debug configuration block (see line-info in GNU Mailutils Manual).

The --no-source-info can be used to cancel the effect of the line-info yes configuration statement.

You do not need this option, unless you are developing or debugging mailfromd.

--syntax-check

Synonym for --lint.

--trace
--no-trace

Enable or disable action tracing. If --trace is given, mailfromd will log all executed actions. See Logging and Debugging.

--trace-program[=string]

Enable program instruction tracing. With this option mailfromd will log execution of every instruction in the compiled filter program. The optional arguments allows to specify a comma-separated list of source code modules for which the tracing is to be enabled, for example --trace-program=bi_io,bi_db enables tracing for functions from modules bi_io.c and bi_db.c (notice, that you need not give file suffixes in string).

This option is useful for debugging mailfromd, but is not advised to use otherwise, since it is very time-costly.

-X
--transcript
--no-transcript

Enable or disable transcript of the SMTP sessions to the log channel. See Logging and Debugging.

--syslog

Selects default syslog mechanism for diagnostic output.

--stderr

Directs all logging to standard output. Similar to --logger=stderr.

--xref

Same as --dump-xref. See Logging and Debugging.

8.1.6 Informational Options

-?
--help

Give a short help summary.

--usage

Give a short usage message.

-V
--version

Print program version.

Mailfromd Manual (split by section):   Section:   Chapter:FastBack: Invocation   Up: options   FastForward: MTA Configuration   Contents: Table of ContentsIndex: Concept Index