GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
MILTER-TEST-SERVER(1) milter manager's manual MILTER-TEST-SERVER(1)

milter-test-server - MTA side milter protocol implemented program

milter-test-server [option ...]

milter-test-server talks MTA side milter protocol. It can connect to a milter without MTA. For now, there is no similar tool. It is useful to test milter not MTA + milter. For example, it can be used for the following situation:
milter's performance check
milter's operation check

milter-test-server can be used for simple performance check because it shows elapsed time. You can confirm elapsed time without MTA's processing time. You will find a problem of a milter more easily because it doesn't depend on MTA.

If a milter changes headers and/or body, milter-test-server can show changed message. It can be used for testing a milter that may change headers and/or body. If it is used with unit testing framework like Cutter, you can write automated unit tests.


--help
Shows available options and exits.

--name=NAME
Uses NAME as milter-test-server's name. The name is used as a value of "{daemon_name}" macro for example.

The default value is "milter-test-server" that is the command file name.


--connection-spec=SPEC
Specifies a socket to connect to milter. SPEC should be formatted as one of the followings:
unix:PATH
inet:PORT
inet:PORT@HOST
inet:PORT@[ADDRESS]
inet6:POST
inet6:PORT@HOST
inet6:PORT@[ADDRESS]

Examples:

unix:/var/run/milter/milter-manager.sock
inet:10025
inet:10025@localhost
inet:10025@[127.0.0.1]
inet6:10025
inet6:10025@localhost
inet6:10025@[::1]

--negotiate-version=VERSION
Uses VERSION as milter protocol version sent to milter.

The default value is 8. The value is the same as Sendmail 8.14's default value.


--connect-host=HOST
Uses HOST as connected host.

The host name is passed to milter's xxfi_connect() callback.


--connect-address=SPEC
Uses SPEC as connected address. SPEC format is same as --connection-spec option's SPEC.

The address is passed to milter's xxfi_connect() callback.


--connect-macro=NAME:VALUE
Adds a macro that is sent on xxfi_connect() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "client_connections" name and "1" value is sent on xxfi_connect() callback:

    --connect-macro client_connections:1
    

--helo-fqdn=FQDN
Uses FQDN for 'HELO/EHLO' SMTP command.

The FQDN is passed to milter's xxfi_helo() callback.


--helo-macro=NAME:VALUE
Adds a macro that is sent on xxfi_helo() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "client_ptr" name and "unknown" value is sent on xxfi_helo() callback:

    --helo-macro client_ptr:unknown
    

--envelope-from=FROM, -fFROM
Uses FROM for 'MAIL FROM' SMTP command.

The address is passed to milter's xxfi_envfrom() callback.


--envelope-from-macro=NAME:VALUE
Adds a macro that is sent on xxfi_envfrom() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "client_addr" name and "192.168.0.1" value is sent on xxfi_envfrom() callback:

    --envelope-from-macro client_addr:192.168.0.1
    

--envelope-recipient=RECIPIENT, -rRECIPIENT
Uses RECIPIENT for 'RCPT TO' SMTP command. If you want to use multiple recipients, specify --envelope-recipient option n-times.

The address is passed to milter's xxfi_envrcpt() callback. xxfi_envrcpt() is called for each recipient.


--envelope-recipient-macro=NAME:VALUE
Adds a macro that is sent on xxfi_envrcpt() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "client_ptr" name and "2929" value is sent on xxfi_envrcpt() callback:

    --envelope-recipient-macro client_ptr:2929
    

--data-macro=NAME:VALUE
Adds a macro that is sent on xxfi_data() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "client_name" name and "unknown" value is sent on xxfi_data() callback:

    --data-macro client_name:unknown
    

--header=NAME:VALUE
Adds a header that names NAME and its value is VALUE. If you want to multiple headers, specify --header option n-times.

The header is passed to milter's xxfi_header() callback. xxfi_header() is called for each header.


--end-of-header-macro=NAME:VALUE
Adds a macro that is sent on xxfi_eoh() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "n_headers" name and "100" value is sent on xxfi_eoh() callback:

    --end-of-header-macro n_headers:100
    

--body=CHUNK
Adds CHUNK as body chunk. If you want to multiple chunks, specify --body option n-times.

The chunk is passed to milter's xxfi_body() callback. xxfi_body() is called for each chunk.


--end-of-message-macro=NAME:VALUE
Adds a macro that is sent on xxfi_eom() callback. The macro has NAME name and VALUE value. This option can be specified N-times for N additional macros.

Here is an example that a macro that has "elapsed" name and "0.29" value is sent on xxfi_eom() callback:

    --end-of-message-macro elapsed:0.29
    

--unknown=COMMAND
Uses COMMAND as unknown SMTP command.

The command is passed to milter's xxfi_unknown() callback. xxfi_unknown() is called between xxfi_envrcpt() and xxfi_data().


--authenticated-name=NAME
Uses NAME as an authorized user name on SMTP Auth. It corresponds to SASL login name. NAME is passed as a value of {auth_authen} on MAIL FROM.

--authenticated-type=TYPE
Uses TYPE as an authorized type on SMTP Auth. It corresponds to SASL login method. TYPE is passed as a value of {auth_type} on MAIL FROM.

--authenticated-author=AUTHOR
Uses AUTHOR as an authorized sender on SMTP Auth. It corresponds to SASL sender. AUTHOR is passed as a value of {auth_author} on MAIL FROM.

--mail-file=PATH
Uses file exists at PATH as mail content. If the file has 'From:' and/or 'To:', they are used for from and/or recipient addresses.

--output-message
Shows a message applied a milter. If you want to check milter's operation that may change header and/or body, specify this option.

--color=[yes|true|no|false|auto]
Shows a messaged applied a milter with colorization if --color, --color=yes or --color=true is specified. If --color=auto is specified, colorization is enabled on terminal environment.

The default is off.


--connection-timeout=SECONDS
Specifies timeout on connecting to a milter. An error is occurred when a connection can't be established in SECONDS seconds.

The default is 300 seconds. (5 minutes)


--reading-timeout=SECONDS
Specifies timeout on reading a response from a milter. An error is occurred when the milter doesn't respond to a request in SECONDS seconds.

The default is 10 seconds.


--writing-timeout=SECONDS
Specifies timeout on writing a request to a milter. An error is occurred when request to the milter isn't completed in SECONDS seconds.

The default is 10 seconds.


--end-of-message-timeout=SECONDS
Specifies timeout on reading a response of end-of-message command from a milter. An error is occurred when the milter doesn't complete its response to the end-of-message command in SECONDS seconds.

The default is 300 seconds. (5 minutes)


--all-timeouts=SECONDS
Specifies timeout to --connection-timeout, --reading-timeout, --writing-timeout and --end-of-message-timeout at once.

--threads=N
Use N threads to request a milter.

The default is 0. (main thread only)


--verbose
Logs verbosely.

"MILTER_LOG_LEVEL=all" environment variable configuration has the same effect.


--version
Shows version and exits.

The exit status is 0 if milter session is started and non 0 otherwise. milter session can't be started when connection spec is invalid format or milter-test-server can't connect to a milter.

The following example talks with a milter that works on host 192.168.1.29 and is listened at 10025 port.
    % milter-test-server -s inet:10025@192.168.1.29

milter-test-client (1), milter-performance-check (1)

January 2022 milter manager

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.