Swaks Release 20170101.0 Available

A new version of swaks is available for download. This release contains a decent number of tweaks, bug fixes, and reworks. It also features Per-Recipient Data Response (PRDR) and PROXY protocol support.

Downloads:

Continue reading

Swaks Release 20130209.0 Available

A new version of swaks is currently available for download. This release contains a decent number of tweaks, bug fixes, and reworks. It features new support for the XCLIENT testing protocol (which originates in postfix-land but is in use elsewhere), and quite a few enhancements to the SSL/TLS subsystem.

In the pipeline for the next release of swaks are support for PRDR, a rework of the interactive IO system, and a reasonable header encoding system. If you have a feature you’ve wanted in Swaks, now would be a good time to ask!

Downloads:

Continue reading

Swaks Release 20120320.0 Available

A new version of swaks is currently available for download.

Downloads:

Continue reading

Swaks IPv6 Support – Initial Draft

I’ve put together an initial attempt at IPv6 support in swaks. If this sort of thing interests you, please take a look at what I have so far and let me know what you think.

LINK REMOVED – this was a development release and the changes have been incorporated in official releases. Please see the project home page at http://jetmore.org/john/code/swaks/ for the latest release.

There is no documentation included yet, but the only real change to the documentation is the addition of the -4 and -6 options to force IPv4 or IPv6. There are a few unrelated tweaks since the last release, but nothing that needs documentation at this point.

Continue reading

About The Name Swaks…

I began developing the tool that would become “swaks” on December 19, 2001.  The initial version was mostly just an adapted version of the sendpage my coworker Jamie Hill had written for simple SNPP transactions.  At that time the tool was called “vmail”, which meant something like visual- or visualize-mail.

On November 11, 2003, I posted a link to vmail on the exim-users mailing list.  I received lots of constructive responses, including one note that the name vmail was very generic, and also in use by another project (I wish I could remember who noted that, but I can’t find it in the mailing list archives).

Continue reading

Swaks Release 20111230.0 Available

Updated 2012-03-20: The links below still work for the 20111230.0 release, but this release is no longer current. If you are not specifically looking for the 20111230.0 release, please see the project home page at http://jetmore.org/john/code/swaks/ for the latest release.

A new version of swaks is currently available for download.

Downloads:

New Features:

  • Added –output-file family of options to capture some or all output without requiring shell redirection
  • Added –protect-prompt option to protect “sensitive” user input (currently only auth passwords)
  • Added –auth-hide-password to replace recoverable passwords in SMTP session output with a dummy string
  • Added –auth-extra to have a single interface to pass non-standard authentication options into swaks. Currently used by NTLM and DIGEST-MD5.
  • Added –show-raw-text option to provide more details of exact data being sent on the wire

Notable Changes:

  • SMTP Data token parsing has been changed from single-character (%F) to multi-character (%FROM_ADDRESS%) to reduce chance of collisions with message text, especially non-ascii language encoding. See –use-old-data-tokens to recover old tokens while transitioning. (issue reported by Peter Baranyi)
  • Specifying the NTLM/MSN/SPA DOMAIN by appending “%DOMAIN” to the username is no longer supported. See the new –auth-extra command.
  • The DIGEST-MD5 authentication no longer uses the (buggy) Authen::DigestMD5 module. The Authen::SASL module is now used.

Notable Bugs Fixed:

  • Previous release broke ability to use –header to set custom headers (first reported by David Favor)
  • Previous release would not allow a file to be used to provide the message data if the file name contained the character “n”. (first reported by dietrich.rebmann@******)
  • swaks has never properly handled creating date strings for timezones that are not on an even hour boundary. (report from, and patch provided by, Peter Samuelson)
  • The documented behavior of the “no-” prefix on swaks’ options did not work when –OPTION and –no-OPTION were given in the same context.
  • The DIGEST-MD5 auth type was not completely implemented. Worked extensively with Erwan Legrand to get as complete and useful an implementation as possible.
  • Previous release contained a regression in which TLS responses sent in multiple packets were not processed correctly. (reported by Peter J. Holzer)

Swaks Release Preview 20111202.0-dev Available

I’m almost ready to release a new version of swaks which includes a few new features and some bug fixes.  The last change I made involved a change in the code which reads text from the server.  All of my testing indicates that the code is right, but my available testing platforms aren’t as varied as they used to be.   If you are able, please download and test.  Feel free to share the link as much as you want, but please don’t package it yet.  If no one reports anything serious I’ll release the “real” version in a week or so.

Here are links to the script and the Changelog for this version:

LINK REMOVED – this was a development release and the changes have been incorporated in official releases. Please see the project home page at http://jetmore.org/john/code/swaks/ for the latest release.

I don’t have a pretty version of new features or bug fixes yet but the Changelog can be trawled for a decent overview.

Any testing notes or last minute requests can be dropped as a comment here if you want, but they are most useful as an email to proj-swaks@jetmore.net.

More places to hear about swaks

I’ve never been especially proactive in evangelizing swaks, but its usage number have grown to the point in the last 10 years that I think I probably am probably hurting users by not having more communication channels to receive and provide updates.  So, here’s a quick breakdown of what channels exist right now, and where I want to go in the future

Current

  • Website – http://jetmore.org/john/code/swaks
  • Update list – There’s no UI for this, but emailing updates-swaks@jetmore.net and asking to be notified of new releases will get you on the notify list.

New

Future

  • I don’t really have any desire to run a mailing list myself but there have been some requests for one (which I assume would be very, very low traffic).
  • swaks.net – I own this domain, at some point in the future I think it makes sense for the swaks distribution to move to it.
  • Trac – swaks’ “todo” list is not huge, and not especially hard to hold in my head, but I like the idea of Trac or something similar because of its ticket/commit cross reference and the timeline to help remember the history of the development.  Not sold on this being worth the effort of maintaining yet.
If there’s some specific thing you’d like to see from swaks, whether it’s a communication channel or a feature/bug, please let me know in the comments or via email (proj-swaks@jetmore.net).