BASE(1) User Contributed Perl Documentation BASE(1) (NAME) Swaks - SMTP SMTP (DESCRIPTION) Swaks SMTP . SMTP TLS (authentication) pipelining SMTP SMTP ESMTP LMTP (UNIX- domain sockets) (internet-domain sockets) (pipes) . . (QUICK START) user@example.com test-server.example.net: swaks --to user@example.com --server test-server.example.net CRAM-MD5 me@example.com. "X-Test" . .netrc : swaks --to user@example.com --from me@example.com --auth CRAM-MD5 --auth-user me@example.com --header-X-Test "test email" EICAR . DATA : swaks -t user@example.com --attach - --server test-server.example.com --suppress-data GTUBE MX example.com : swaks --to user@example.com --body @/path/to/gtube/file user@example.com LMTP : swaks --to user@example.com --socket /var/lda.sock --protocol LMTP : for E in `cat /path/to/email/file` do swaks --to $E --server test-server.example.com --quit-after RCPT --hide-all [ $? -ne 0 ] && echo $E done (TERMS AND CONVENTIONS) . Target (Target) Swaks . . Transport (Transport) (target) . Transaction (Transaction) (transport) (target) . Protocol (Protocol) . SMTP 'SMTP' . Message SMTP (Messages) . Envelope (Envelope) <<>> . envelope-sender envelope-recipients . "To:" "From:" . DATA DATA SMTP . (headers) (body) . DATA . Headers (Headers) DATA . "To:" "From:" "Subject:" . . Body (Body) DATA . Option (Option) Swaks . <<>> . "--no-data-fixup" . Argument (Argument) . "--quit-after '" "" "--quit-after" . ("<>") . "--quit-after " "" (stop-point) . [] ([]) . "--to []" "--to" "" ..SH " (OPTION PROCESSING)" Swaks <<>> (option) . <<>> . "--from fred@example.com" Swaks "--from" "fred@example.com" "--from" . Swaks . Swaks . "--no-data-fixup 1" "--no-data-fixup" Swaks 1 . Swaks : . Swaks . Swaks ( "--config"). . . (override) . "no-" Swaks ( ). << >> <<>> . . ( "--from user1@example.com --from user2@example.com" "user2@example.com" ) ( "from user1@example.com" "--from user2@example.com" "user2@example.com" ) . . : Arg-None, Arg-Optional, Arg-Required . . "--to" Arg-Required "--to" Swaks . From-Prompt From-Prompt . From-File From-File . "-" "STDIN" . "STDIN" . "@" . . Swaks . "@" "@" . "@" ( "--attach @file.txt" "--attach @@file.txt") "@" ( "--attach @./@file.txt" @file.txt ). Sensitive Sensitive "--protect-prompt" Swaks ( ). Swaks . Deprecated Deprecated . <> . . (CONFIGURATION FILES) . Swaks $SWAKS_HOME/.swaksrc $HOME/.swaksrc $LOGDIR/.swaksrc . ( "--config" ) . "--config" . Swaks . "--config" . Swaks . << >> (portable) Swaks . Swaks "__END__" . "__END__" . . "__END__" . Swaks . "__END__" "__END__" . "--config" "__END__" . ("#") . Swaks . . () . . . . "apt" "--apt" "apt " "--apt ''" . : # always use this sender, no matter server or logged in user --from fred@example.com # I prefer my test emails have a pretty from header. Note # the lack of dashes on option and lack of quotes around # entire argument. h-From: "Fred Example" : --config [] . ( $HOME "__END__") . ( "__END__"). Swaks . ( ) . (Arg-Optional) (CONFIGURATION ENVIRONMENT VARIABLES) . $SWAKS_OPT_name "name" . (underscore) . : $ SWAKS_OPT_from='fred@example.com' $ SWAKS_OPT_h_From='"Fred Example" ' . Swaks . "<>" . header ( "SWAKS_OPT_header_Foo=bar" "SWAKS_OPT_header="Foo: bar"" ). . . $SWAKS_OPT_from $SWAKS_OPT_f $SWAKS_OPT_from $SWAKS_OPT_f . "no-" . "no-" . "no-" ( ) . $SWAKS_HOME .swaksrc . (COMMAND LINE OPTIONS) Swaks . . ( "-s" "--server"). . . : $ swaks --from fred@example.com --h-From: '"Fred Example" ' (TRANSPORTS) Swaks (<<>>) (<< >>) (<< >>) . . . "--server" "--pipe" "--socket" . . . (NETWORK SOCKETS) TCP/IP SMTP . Swaks . "--server" "--pipe" "--socket" ( "--server" ). IO::Socket::IP IPv4 IPv6 . Swaks IO::Socket IPv4 IO::Socket::INET6 IPv6 . . IO::Socket IO::Socket::INET6 . DEPRECATIONS . -s, --server [[:]] Swaks IP . DNS Net::DNS . Net::DNS Swaks localhost . . SERVER:PORT ( IPv4) [SERVER]:PORT SERVER/PORT ( IPv4 IPv6) . "--port" . "--copy-routing" . (Arg-Required, From-Prompt) -p, --port [] TCP . ( getservbyname(3)) . smtp/25 "--protocol" "--tls-on-connect" . (Arg-Required, From-Prompt) -li, --local-interface [[:]] SMTP . IP . . : "--server" . "--port" . (Arg-Required, From-Prompt) -lp, --local-port, --lport [] . ( getservbyname(3) ) . (ephemeral) . . (Arg-Required, From-Prompt) --copy-routing . "--to" . (Arg-Required) -4, -6 IPv4 IPv6. (Arg-None) (UNIX SOCKETS) (UNIX-domain socket) . MTA/MDA ( LMTP Cyrus). IO::Socket::UNIX Perl . . --socket [] . Swaks . (Arg-Required, From-Prompt) (PIPES) (spawn) . "STDIN"/"STDOUT" . MTA inet/xinet . MTA "STDIN"/"STDOUT" . . DNSBL Exim "swaks --pipe "exim -bh 127.0.0.2"" . "STDIN" "STDOUT" SMTP . (debug) "STDERR" . Swaks "STDOUT" . IPC::Open2 Perl . . --pipe [] . Swaks . Swaks . (Arg-Required, From-Prompt) . -t, --to [[,[,...]]] --cc [[,[,...]]] --bcc [[,[,...]]] Swaks () (envelope-recipient) . . Swaks . "--to" Swaks . . . "--quit-after" SMTP . "--to" . DATA . ( "%TO_ADDRESS%" "%CC_ADDRESS%" "%BCC_ADDRESS%") DATA . Swaks "%TO_ADDRESS%" To: "%CC_HEADER%" Cc: . "%BCC_ADDRESS%" DATA . (Arg-Required, From-Prompt) -f, --from [] (envelope-sender) . "<>" (null sender) . . (domain-part) (FQDN) . (local-part) . $LOGNAME . Win32::LoginName() getpwuid(3) . "--force-getpwuid" . Swaks Swaks . . (Arg-Required, From- Prompt) --ehlo, --lhlo, -h, --helo [] HELO/EHLO/LHLO . . Swaks helo Swaks . . (Arg-Required, From-Prompt) -q, --quit, --quit-after . Swaks "QUIT" . . (Arg-Required) PROXY PROXY . CONNECT . CONNECT, BANNER . FIRST-HELO, FIRST-EHLO, FIRST-LHLO STARTTLS ( tls-on-connect) HELO . STARTTLS HELO ( ). XCLIENT XCLIENT . XCLIENT . XCLIENT-HELO HELO XCLIENT . HELO FIRST-HELO XCLIENT SMTP HELO XCLIENT HELO FIRST-HELO . HELO XCLIENT . STARTTLS, TLS TLS . STARTTLS tls-on- connect . TLS . HELO, EHLO, LHLO STARTTLS XCLIENT HELO . HELO . AUTH . . MAIL, FROM MAIL FROM: . RCPT, TO RCPT TO: . --da, --drop-after "--quit-after" . "--quit-after" DATA DOT . (Arg-Required) DATA DATA . DOT <<.>> . --das, --drop-after-send "--drop-after" . "--drop-after" . ( STARTTLS AUTH) "--drop-after" . . (Arg-Required) CONNECT . STARTTLS, TLS "--drop-after" . HELO, EHLO, LHLO . HELO FIRST-HELO . --timeout [