From: Wietse Venema (no email)
Date: Sun Sep 09 2007 - 10:51:26 EDT
Christian Winter:
> Wietse Venema wrote:
> > Thus, stress-dependent server behavior can be implemented with
> > minor Postfix modifications, but it has a few obvious limitations.
> >
> > - Testing is possible only by connecting to the test port and using
> > the XCLIENT protocol. Not a big deal, because stress-dependent
> > behavior is for advanced system administrators. Hopefully some
> > day someone will finally implement a utility that uses the XCLIENT
> > protocol to automate Postfix tests.
> >
> What would be expected from that utility? The reason I'm asking is that I've
> plugged together a view lines of perl to perform checks on our company
> mail filters with XCLIENT extensions (a class deriving from Net::SMTP
> and a command line perl script) and already thought about bundling it
> together and putting it at CPAN. Any suggestions are welcome.
Couple suggestions for clarification below. Writing documentation is
much harder than writing code.
Wietse
Does Net::SMTP have a STARTTLS option? Some sites won't allow SASL
passwords unless TLS is turned on.
> That's what the script does so far:
> -----------------------------------------------------------------------------
> NAME
> xclienttest.pl - Command line tool to test XCLIENT SMTP
>
> DESCRIPTION
> xclienttest.pl -f FROM -r RECIPIENT [-a] [-s SERVER] [-p PORT] [-c
> CREDENTIALS] [-N XCLIENT_NAME] [-A XCLIENT_ADDRESS] [-P
> XCLIENT_PROTOCOL] [-H XCLIENT_HELO] [-F CFGFILE] [-d] [-h]
>
> Command line tool for testing of SMTP servers that support the XCLIENT
> protocol. All neccessary paramters can be set via the command line, the
You may want to add a pointer to Postfix. XCLIENT is MTA specific.
> mail headers and body can either be supplied via STDIN (sendmail style)
That would be: RFC2882 compliant. All Internet MTAs support this format,
Sendmail does not own it.
> or a standard test message can be generated via the *-a* switch.
>
> COMMAND LINE ARGUMENTS
> -h Show this help screen.
>
> -a Create a test mail with standard contents, don't listen on *STDIN*
> for a user-supplied message.
>
> -f FROM
> Set the sender of the mail. Must be a syntactically valid SMTP
> address.
>
> -r RECIPIENT
> Recipient of the mail. Must be a syntactically valid SMTP address.
>
> -s SERVER
> SMTP server to connect to, defaults to 127.0.0.1.
>
> -p PORT
> Listen port of the SMTP server to connect to, defaults to 25.
>
> -c CREDENTIALS
> If the server requires a login, the credentials can be passed as a
> string in the form "USERNAME:PASSWORD".
>
> -N XCLIENT_NAME
> The alternative client name that is to be supplied via the XCLIENT
> command.
What if the parameter is not given? I suspect that Postfix will use
the client hostname, not " [UNAVAILABLE]".
Is this parameter value (and all the other ones) "xtext" encoded?
> -A XCLIENT_ADDRESS
> The IPV4 or IPV6 client address that is to be supplied via the
> XCLIENT command.
Please specify syntax. IPv6 is specified as ipv6:address, as required
by some email RFC.
What if the parameter is not given? I suspect that Postfix will use
the client IP address.
> -P XCLIENT_PROTOCOL
> The SMTP client protocol (SMTP or ESMTP) to be supplied via the
> XCLIENT command, this can differ from the result of a previous
What if the parameter is not given?
> -H XCLIENT_HELO
> The alternativ HELO/EHLO string to be passed to the server via the
> XCLIENT command.
What if the parameter is not given?
> -F CFGFILE
> Instead of passing the XCLIENT values via the command line, you can
> also give a config file that contains some or all of them. Note that
> command line options override config file options.
Will -F CFGFILE override options given BEFORE the -F option"
> The contents of the config file are the XCLIENT verbs followed by an
> equal sign followed by the plain values. Spaces are allowed before
> and after the equal sign.
>
> Example:
>
> ADDR = 172.30.0.2
> NAME = bad_client.from.local
> PROTO = ESMTP
> HELO = bad_client
>
> -d Show debug output on STDOUT.
> ---------------------------------------------------------------------------------
>
> -Chris
>
>
|
|
|