Swaks

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Swaks
Original authorJohn Jetmore
DeveloperJohn Jetmore
Initial release2003
Stable release
20240103.0
Repositoryhttps://github.com/jetmore/swaks
Written inPerl
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    LicenseGNU General Public License version 2
    Websitehttps://jetmore.org/john/code/swaks/

    Swaks (Swiss Army Knife for SMTP) is a command-line tool designed for testing and debugging Simple Mail Transfer Protocol (SMTP) servers. It is written in Perl and supports a wide range of SMTP features, making it a popular utility among system administrators,[1] developers,[2] and penetration testers,[3][4] along with email industry professionals.[5]

    First released in 2003[6] and distributed under the GNU General Public License (GPL), it is developed and maintained by John Jetmore. The software was primarily intended for use on UNIX-like operating systems, and is available in many package managers, including on Linux[7] and macOS.[8] While there are no native packages for Windows, users can install Perl and run the software themselves, or leverage Windows Subsystem for Linux.[9]

    Features

    [edit | edit source]

    Swaks is typically used from the command line, but also integrates well with external tools and scripts for automated testing as options can also be specified in environment variables and configuration files. It supports SMTP, ESMTP, and LMTP, and protocol extensions such as TLS, authentication, and pipelining. Supported authentication mechanisms include PLAIN, LOGIN, CRAM-MD5, CRAM-SHA1, DIGEST-MD5, and NTLM/SPA/MSN.

    Swaks can be used via multiple transport methods including UNIX and internet sockets, and pipes to spawned processes.

    It is commonly used to troubleshoot[10] email issues,[11] but can also be used to simulate mail delivery failures, and verify authentication and encryption configurations.[12]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[dead link]
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]