1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489
|
> 20100211 released 20100211.0
* 20100211 moved to swaks.org, redid website
* 20100211 working on release engineering
* 20100211 fixed interaction bug between POD/__END__/&DATA
* 20100204 added --attach-name option to allow setting of custom
name or setting that no name should be used. Need
pointed out by Stefan Lischke, Christoph Kiechle, and
Cliff Clasen.
* 20100204 set a name for attachments based off of filename
* 20100204 removed requirement for OPTIONS markers in config files
* 20100204 fixed TZ bug which could occassionally generate TZs offsets
like +0099 (instead of +0100) for GMT+X TZs (not GMT-X).
fixed debian bug 566013)
* 20100203 declaring docs good enough, finished rewrite
* 20100203 updated copyright date to 2010
> 20080618 released 20080618.0-dev to martin#antibodymx.net
* 20080618 add --tls-get-peer-cert to save peer cert for evaluation
(suggested by Martin A. Brooks <martin#antibodymx.net>)
* 20080618 added peer subject DN to TLS information
* 20080618 added post-startup routine for swaks specific tls code
(keep swaks stuff out of start_tls() but also have common
place for code shared between -tls and -tlsc
> 20080417 released 20080208.2-dev to Chris Pimlott <chris#pimlott.net>
* 20080208 not sure if this was a bug or a misfeature, but removed
the code that prevent the same header from being changed
multiple times using --header option
* 20080208 20061227 --add-header now inserts contents at end of
existing headers if no %H tokens in DATA (allows adding
headers to non-default messages read from files)
* 20080208 20071220 added ability for config file data to be read
from __DATA__ if present (portable user defaults)
* 20080208 20071221 added recognition of :port suffix to --server
* 20080104 if --data has no newlines and represents an openable file,
use the contents of the file as the DATA
* 20080104 fixed very obscure bug which caused crash if _no_ option
processing was done (introduced sometime during the
introduction of env/conf file opts I think)
* 20080104 fixed --no- processing to not break processing of valid
options which already begin with "no-"
* 20080103 implemented recognition of "no-" prefix to erase previously
set options
* 20080103 added yet another layer of abstraction to option processing
* 20080103 updated copyrght to 2008. changed $p_cp formatting to
remove backslash from email
* 20071231 fixed long standing impemenation bug in the inter-op
of the --dump and --silent option.
* 20071231 changed --silent to accept an arg in addition to being
additive. the additive form is now deprecated
* 20071227 implemented --hide-all and --hide-informational
* 20071221 made --server/--pipe/--socket mutually exclusive
* 20071220 Added banner as synonym for CONNECT
CONNECT behaviour that closes the connection without
sending quit immediately after opening it. Made -q TLS
work after tls-on-connect.
* 20071220 changed the env var namespace from SWAKS_ARG_ to
SWAKS_OPT_. fixed to replace _ w/ - in var names.
* 20071220 in config, changed flags from ARGS to OPTIONS.
changed option/arg split to be a single space - leading
space on arg is preserved if present.
changed so that dash(es) on option names are optional.
* 20071218 deprecated -m, tis a silly option
* 20071214 completely reworking documentation. splitting options
into tiers based on types of functionality, driving
requirements into individual sections, and generally
reorganizing to provide more information while also
making it more readable.
* 20071214 removed --input-file and all references to it from
documentation. Functionality will be removed in future
release.
* 20071016 fixed --tlsos/-tlsos type in POD (haraldme.gmail.com)
> 20070921 released 20070921.0-dev to madduck.debian.org, db403208
* 20070921 20061221 added --config. Added new config file and
environment variable processing to allow multiple,
ways to specifying options. debian bug 403208
* 20070921 rearranged dependency processing for code readability
> 20070920 released 20070920.0-dev to haraldme.gmail.com
* 20070920 implemented --tls-option-strict
* 20070914 finished --auth-optional-strict impl incl test frame
* 20070906 added framework for --auth-optional-strict, needs tweaking
and docs still
* 20070119 DIGEST-MD5 was broken. Fixed. (Broke when --pipeline
was implemented. When underlying transaction code was
rewritten, the piece that treats a send string of
undef and "" differently was lost. Never noticed because
only DIGEST-MD5 sends a blank line as part of the protocol.)
* 20070115 20061229 added and documented --copy-routing option
to allow routing information fo a domain that is unrelated
to the --to address (saves the step of having to look
up and specify MX records manually using --server). Arg
can be domain, @domain, or lp@domain, where domain can be
a domain name, [1.2.3.4], or #12345678.
* 20070115 20070112 getlogin() is unreliable (see difference in
auto-from between "swaks -t foo" and
"echo bar | swaks -t foo") when su'd to another user.
Replace getlogin() w/ $LOGNAME. The user can set this
to whatever they want to be known as, and if it's not
set we still fall back on getpwuid
* 20070115 updated copyright year through 2007
* 20061227 20061221 --header and -h-Header args didn't work for
replacing existing headers when DATA read in from file.
Fixed (expected \\n, not \n), though adding new headers
to the same messages is still broken
* 20061227 20061218 in --h-Header construct, allow trailing colon and
allow single dash in addition to double (previously a colon
in the arg name resulted in double colon in header and
a single dash resulted in a HELO string of "-Header"
> 20061116 released 20061116.0
* 20061115 20060806 fixed bug where From: was prompted for on some -q
types that don't require it, too (Helo: too)
* 20061115 documented rfc3848 --protocol options and behaviours
* 20061023 finished implementing protocol overloading (tls and auth)
* 20061018 implemented groundwork for overloading --protocol with
broad protocol types. implemented overload->simple
protocol mapping, still missing TLS and AUTH mapping
* 20061018 set default port for LMTP to 'lmtp'/24 and documented
* 20061011 20061010 --port can now be a service name as well as
a port number. Internally, now tries resolve 'smtp' and
'smtps' services as default ports reverting to old 25/465
behaviour if those aren't found
* 20061010 20060914 documented --header and --h-Header options
(though badly. I really need to redo the docs)
* 20061010 fixed bug time bomb with handling legacy AUTH= ESMTP
lines noticed while addressing the above.
* 20061010 made AUTH auth_types case insensitive as required in
rfc2554. debian bug 392182
* 20060914 removed some extraneous /e opts from body-processing regexps
* 20060914 added --header-HEADER option where --h-Text foo is
a synonym for --header "Text: foo"
* 20060914 added --header option which, if header already exists,
overwrites it. Otherwise adds to --add-header processing.
* 20060817 redid --support/avail() again to support concept of
optional (optimizing) modules for full disclosure in output
* 20060804 redid the REQ docs to reflect current requirements
and behaviours.
* 20060804 fixed get_date_string() to return a true GMT string, not
the local time w/ a GMT stamp if date_manip unavailable
* 20060804 didn't realize eb64 needed to support line endings because
of use in encoding mime bodies. Add in feature.
* 20060804 changed all base64 calls to use local functions if
MIME::Base64 isn't available. Module is still prefered
due to "many eyes" and speed. Removed MIME::Base64 from
auth requirements.
* 20060804 added test_support() call to --dump output for testing
* 20060804 moved all other modules to conditionally load, as needed.
This is IO::Socket, IPC::Open2, Time::Local,
Sys::Hostname, and Getopt::Long. Time::Local and
Sys::Hostname are optional (they are not always used,
and can now be worked around if not available). IO::Socket
is now only loaded is doing a socket connection and
IPC::Open2 only needed for a --pipe session.
* 20060804 20060201 rewrote module support. Capabilities are checked
by labels, not with literal modules. Allows checking
in main code not to change when behind the scenes
implementations change. added avail() and avail_err(),
test_support(), removed load_modules(), try_load(). Also
some speed gains because program now only loads modules
needed for speific invocation - previously preloaded
every available module, regardless of need.
* 20060803 added and tested load(), but haven't hooked in yet
(part of requirement rewrite)
* 20060724 added and tested local base64 replacements, but haven't
hooked them in yet (waiting for requirement rewrite)
* 20060719 20050709 TLS options now work on --pipe connections
* 20060719 fixed tls/quit-during-second-helo bug introduced by
addition of --protocol
* 20060719 documented --protocol option and args, including new
lmtp protocol
* 20060719 documented all --quit-after synonyms, including new lhlo
based ones.
* 20060718 20050605 added 'lmtp' as a valid protocol
* 20060718 20050625 added --protocol option. 'esmtp' is default with
legacy behaviour. 'smtp' only sends HELO, not EHLO.
* 20060623 added url to CONTACT section of docs
* 20060622 Updated FSF address in GPL notice
> 20060621 released 20060621.0
* 20060621 added note at top and in docs about update email address
* 20060621 added comments to top of code about viewing docs
* 20060526 added and document --add-header option (debian bug 366317)
* 20060526 removed old (pre-pipeling) transaction code
> 20060309 released 20060309.0-dev to exim-users.exim.org
* 20060309 20050406 added --pipeline option
* 20060308 --attach/--body tweaks (add closing boundary in mime,
added ability to use - for multiple body/attach parts,
allowed --body and --attach to coexist, added docs
for the three options)
* 20060307 20050510 added simple implementation of --body, --attach,
and --attach-type options (debian bug 354084)
* 20060222 swaks died on SIGPIPE on unexpected disconnect over
--socket. fixed.
> 20060221 released 20060221.4-dev to jh.plonk.de
* 20060221 20060130 if quiting before rcpt and link type is --socket
or --pipe, do not prompt for recipient.
* 20060221 misc code tidying
* 20060221 with io handling on broken connections working better,
remove the CHLD and PIPE signal handlers so --pipe behaves
more like sockets
* 20060221 20051102 despite some error messages to the contrary,
swaks did not handle the remote end closing its
connection unexpectedly. Fixed transaction routines
to detect and handle properly.
* 20060218 swaks choked if server advertised STARTTLS over a
--tls-on-connect connection. fixed. (jpeacock.rowman.com)
> 20060210 released 20060210.0-dev to jh.plonk.de
* 20060210 20060131 change --pipe to use open2(). This causes child
stderr not to be handled by swaks - user can redirect
as desired. Fixed bug noted by jh.plonk.de
* 20060201 20050810 fixed stupid inefficiency where both do_smtp_rcpt()
and caller of do_smtp_rcpt() are handling comma-delim
recipient list.
* 20060201 added --force-getpwuid option to force old method of
looking up $< to generate sender local part
* 20060201 20050721 changed auto sender address generation to try
to get lowest logged-in user name for the local_part (via
getlogin()). If that method fails, use old method of
looking up $<
* 20060201 20050909 fixed stupid message 'ANY authentication not
supported' if no auth type is specified and the server
doesn't advertise auth
* 20060201 fixed --dump to handle new auth type format
* 20060201 20050909 can now specify -a as a comma delimited list of ok
types to try, in order of preference
* 20060201 implemented CRAM-SHA1 auth type (suggested jh.plonk.de)
* 20060201 simplified get_digest() code and allowed different
digest types to be used
* 20060131 fixed bug in checking for Authen::DigestMD5 when
trying DIGEST-MD5 auth type (reported by jh.plonk.de)
* 20060121 commented out --auth-hide-password option since we aren't
handling it anyway. Was undocumented also.
* 20060121 fiddled w/ --dump output, trying to get every possible
option displayed (for test suite)
* 20060121 updated copyright to 2006
> 20050709 released 20050709.1
* 20050709 fixed bug where TLS multiline responses were broken if
sent in multiple packets (reported by
charlieb.budge.apana.org.au)
* 20050629 fixed bug where latent $@ errors caused socket connections
to seem to fail (run --socket on a server w/o Net::DNS)
> 20050625 released 20050625.8
* 20050625 20050605 added --socket option to allow smtp over
unix domain socket
* 20050625 fixed a couple of bugs in --auth-optional (one caused it
not to work at all, the other caused it not to work if
either -a not also used or some arg not supplied)
* 20050625 20050517 added --pipe option to be able to conduct
smtp transaction with a child process. See debian
bug ID 309462
* 20050625 moved all connection level into into %G::link very early
* 20050625 saved many lines of code by adding do_smtp_quit
* 20050625 moved timeout into link struct and cleaned up code
* 20050625 cleaned up lots of orphaned code and trimmed socket passing
* 20050625 moved tls info from disconnected global vars to link struct
* 20050625 moved socket from passed var to part of global link struct
* 20050625 cleaned up some unused global vars
* 20050625 fixed bug where <> not correctly handled for user/pass
* 20050625 fixed bug in do_smtp_tls where it ignored timeout on
on STARTTLS call
> 20050605 released 20050605.3
* 20060605 20040909 the line ending translation was very slow for
large files. fixed.
* 20050605 added portability section to documentation
* 20050605 20050510 added OS test on getpwuid to allow running on
Win32, spent some time evaluating capabilities (reported
alexander.hass#e-domizil.de)
* 20050605 updated copyright dates
> 20040404 released 20040404.1
* 20040404 updated copyright dates
* 20040404 by default, translate all bare newlines to CRLF. Fixed
Debian bug 241368
* 20040404 added --no-data-fixup option to allow a literal DATA
value to be passed in
> 20040128 released 20040128.1
* 20040128 reworked a split to quell a perl -w gripe
* 20040128 if -q opt is one which doesn't require a to address
(everything before rcpt) and server is otherwise specified,
don't require a to address. (sugg. ametzler)
* 20040128 added a few -q aliases (ehlo, first-ehlo, starttls, from, to)
* 20040128 added error checking for -q opt - error out if unknown val.
(sugg. ametzler)
* 20040128 added new quit type of 'first-helo' (for the first helo
in a STARTTLS session). Changed HELO type to be second
helo in a TLS session instead of first.
* 20040128 fixed doc bug re: default DATA value (sugg. ametzler)
* 20040115 couldn't use -ao to define specific auth type - fixed
* 20040115 added --dump option (show generated options but don't send)
* 20040115 fixed some badly formatted POD
* 20031226 hostname verification broke FROM and HELO options in -l
file. fixed.
> 20031218 released 20031218.0
* 20031218 reworked local hostname determination. hostname() almost
never fails but gethostbyname can, use first results if
second call fails.
* 20031212 in some situations a hostname may not be found automatically
(for instance, on my laptop when my VPN is active). In this
situation, prompt for helo string and from address.
* 20031212 Added X-Mailer header to default DATA.
* 20031212 oops. fixed so that -tlsc doesn't cause double EHLO
* 20031212 print SSL error code if negotiation failed
* 20031212 -tlsc implementation uncovered deficiencies in error
checking in start_tls(). reworked.
* 20031212 added --tls-on-connect option to support smtps (suggested
by Benjamin Ritcey <exim#ritcey.com>)
> 20031211 released 20031211.2
* 20031211 duh. if --help run as root, just change to uid 1 before
running perldoc. no fuss no muss
* 20031211 since perldoc didn't want to run as root anyway I caught
that case and printed a more informative message
* 20031211 removed -U and -F options from the perldoc call for --help.
(unknown by older perls
* 20031211 the subscripting in the date routine was incorrect, failed
to compile on older perls
> 20031210 released 20031210.0
* 20031210 implemented automatic routing of RFC821 decimal domain
literals (user@#16909060).
* 20031210 moved "Trying..." above actual socket creation, which
makes much more sense in a timeout situation
* 20031210 handle default routing correctly for domain literal
to addresses (@[1.2.3.4]). Had to specify server explicitly
using -s before.
* 20031207 add 'Date: %D' header to default data string (probably
should have been there all along but this was specifically
added to address a change in the handling of messages
without Date: headers by exim in 4.30)
* 20031207 changed %D body token to be compliant for an RFC Date: header
* 20031201 changed copyright/license to GPL
* 20031201 changed name from vmail to swaks (SWiss Army Knife Smtp)
> 20031111 released 20031111.0
* 20031108 missed a piece in implementing DIGEST-MD5 (missed checking
for Authen::DigestMD5)
* 20031108 reworked do_smtp_auth() to make --auth-map possible and for
general streamlining
* 20031108 added -am option to allow aliasing of auth types
* 20031108 added back in integer timing if 'i' provided as arg to -stl
or Time::HiRes unavailable
* 20031108 changed microtimer precision to thousandths
* 20031108 changed -stl to a microtimer by default
* 20031107 added require section to --help
* 20031107 fixed -apt bug in NTLM exchange
* 20031107 fixed a typo in NTLM doc
* 20031107 implemented DIGEST-MD5 (RFC2831)
* 20031101 fixed bug in NTLM auth (worked with exim but not with
communigate
* 20031027 added -stl option to show lapse between send/receive
* 20031024 changed "empty" placeholder from NULLNULL to <> for
sender, a_user, a_pass
* 20031024 changed server for non-mx domain from localhost to domain's
A record
* 20031024 Added module checking for Authen::NTLM
* 20031024 started rearranging options. Move from $O:: namespace
to %O hash. %O is for temporary vars, $G:: is for true
global vars. moved most of the up-front processing to
a subroutine and rearranged
* 20031021 Added aliases for SPA/MSN to NTLM
* 20031021 added ability to specify %DOMAIN to -ap for NTLM
* 20031021 documented NTLM auth options
* 20031020 switched to alternate Authen::NTLM module to fix username
issue (seems to work so far but might be safer to switch to
native implementation)
* 20031020 NTLM basicaly works. Fixed first problem by changing
expected return value from 334 to 235 in getting final auth
verdict. Still issue w/ username (but pass works fine)
* 20031019 started adding NTLM support (doesn't work totally yet)
* 20031019 cleaned up getopt code (messy since adding long opts
* 20031019 added -hr and -hs options to mute parts of transaction
* 20031019 Added -nth option to turn off transaction hints
* 20031016 arg of '-' to -d sets -g (reads from STDIN)
* 20031016 moved TLS code into sub (mimic AUTh architecture)
* 20031016 documented long options in POD
* 20031016 typo - changed --supress-data to --suppress-data
* 20031014 added longer alternatives to most options (that is, -ao
can also be specified as --auth-optional
* 20031014 changed timout CLA from -to to -timeout to avoid confusion
* 20031010 added framework for release (--help, --version), initial
population of help framework
* 20031010 fix dots once and for all - honor a trailing dot if it
exists, otherwise add trailing dot. Quote all other dots
* 20031010 added %D to the default subject
* 20031010 removed most of the input validation - this is meant to be
a test app, not a real agent. If an admin wants to test
how his server will handle an underscore in a helo string,
he should be able to specify it
* 20031010 -ahp and -apt were defined as string options, but they're
really boolean, changed definition
* 20031010 added 'tls' as valid argument to -q option
* 20031010 fixed bug where QUIT not sent if -tls specified but TLS not
advertised by the server
* 20031010 making TLS confirm to RFC3207 - forget state information
and re-EHLO after successful TLS negotiation
* 20031010 added transaction hints for TLS (<~ and ~>)
* 20031010 added -nsf (no strip from) option to prevent removal
of From_ line
* 20031010 DATA portion now has From_ line removed if present
* 20031008 added -S option. -S only prints errors and anything after,
-S -S only shows errors, -S -S -S never prints anything
* 20031008 standardized printing of program errors to STDERR, all
other prints to STDOUT
* 20031008 changed standard diagnostic prints to use print_trans()
to gain benefit of standard prefixes
* 20031008 changed prefixes so that program errors are differentiated
from SMTP errors (*** vs. <** or **>)
* 20031008 instead of passing literal prefix to print_transaction(),
now pass a code (smtp/program/send/receive/ok/error) and
the sub prints the appropriate prefix. Allows prefixes
to be controlled in a central place
* 20031008 adjusted Getopt::Long to have case-sensitive single
char options, but insensitive long opts. It also turns
off single-char option bundling, but I don't see this
as an issue
* 20031008 changed so you can specify in time format (hms). This
allows you to use 0s to mean no timeout
* 20031008 allow TIMEOUT to be specified in -l file
* 20031008 fixed bug where alarm was not reset after
* 20031008 add -to option to allow timeout to be specified in seconds
on command line. (defaults to 30s)
* 20030826 allow mult recips in form to,to,to (if server is undef,
uses DNS for domain of last recip in list)
* 20030424 allow null sender (-f NULLNULL)
* 20030415 added basic TLS support w/ Net::SSLeay
* 20030414 laid groundwork for adding TLS (option processing)
* 20030410 ugh. fixed problem w/ default data now having two ending
dots.
* 20030326 fixed error where one too many newlines being added after
trailing . on -g input. caused a mailer error (extra
newline seen as an unknown command
* 20030326 fixed typo on testing for Net::DNS loading (since 3.24)
* 20030324 added --support option to determine capabilities
* 20030324 changed module handling to load all up front
* 20030317 changed -au to accept 'NULLNULL' to mean empty password
from command line (otherwise you couldn't script it)
* 20030317 changed -ap to accept 'NULLNULL' to mean empty password
from command line (otherwise you couldn't script it)
* 20030317 fixed AUTH LOGIN bug on null password (has existed for
entire implementation)
* 20030312 added -apt opt to translate all base64 strings to plaintext
* 20030312 changed error on socket creation to use print_transaction
* 20030312 added -li opt to specify local interface
* 20030312 fixed base64 encoding bug (would wrap after ~58 chars)
(has existed entire implementation)
* 20030309 fixed to try multiple auth type or specific w/ -a <type>
* 20030308 added basic AUTH for CRAM-MD5
* 20030308 added basic AUTH for LOGIN
* 20030307 added basic AUTH for PLAIN
* 20030307 added 'auth' as valid value for -q
* 20030307 changed -l file processing to simply populate a hash so
whole function doesn't have to be changed each time opt
added
* 20030307 if -l file can't be processed, print error and fall
back to other methods
* 20030306 did away w/ -i option. Now the arg of those opts is
optional - if the arg is given an opt, it is used. if
arg is given w/o opt, will prompt on STDIN. If no arg given
use default (mostly, depends on opt
* 20030306 fixed bug in just sending \n instead of \r\n (affected
mx01.guardent.com (PIX), though not our servers)
* 20030306 changed HELO code to try EHLO, fall back to HELO
* 20030306 changed option processing from ::Std to ::Long to allow
for future expansion
* 20030306 added ability to specify multiple recipients
* 20030306 closes the conection politely if something unexoected happens
* 20030306 use '***' to flag unexpected SMTP responses
* 20030306 added code to allow multiline SMTP responses
* 20030306 exit status changes on unexpected occurrances now
* 20030306 reworked transaction architecture so more features can be
added in the future
* 20030204 added -n option to summarize DATA send instead of sending
whole thing (more useful when sending real (and possibly
large) emails w/ the -g option).
* 20021126 if server isn't specified and Net::DNS not installed, use
localhost as mail server (portability)
* 20021126 removed references to WCS::Util to make more portable
* 20021126 finished implementation of transact.
* 20021126 started cleaning up transaction code a bit
* 20021126 removed the old, commented LWP::Socket code.
* 20021112 added -q option to force premature 'quit'. it accepts
'connect', 'helo', 'mail', 'rcpt' as params and sends quit
immediately following the named transaction.
* 20021108 added -m option to force emulation of 'Mail -v'
* 20021108 removed nslookup refs and implemented Net::DNS to get MX
* 20020201 rewrote to use IO::Socket instead of LWP::Socket
* 20020116 added -g option to allow DATA to be read from STDIN
* 20011220 changed so it prompts for to if one not supplied (instead
of erroring and dying)
* 20011220 added smart server lookup based off of to address
* 20011220 added smart default for from
* 20011220 added smart default for helo (get_hostname())
* 20011220 added %D token for body
* 20011220 altered transaction hints (-->, <--) to make more clear
* 20011220 added ability to specify pieces to be prompted for
interactively. trumps both file and CL args (-i)
* 20011219 initial version of vmail
|