Comment on Awk: The Power and Promise of a 40-Year-Old LanguageparentComments−chasil5yHere is a script that I use to send SMTP mail, via the gawk networking extensions. I have a few different versions, but this is the most basic: #!/bin/gawk -f BEGIN { smtp="/inet/tcp/0/smtp.yourhost.com/25"; ORS="\r\n"; r=ARGV[1]; s=ARGV[2]; sbj=ARGV[3]; # /usr/local/bin/awkmail to from subj < in print "helo " ENVIRON["HOSTNAME"] |& smtp; smtp |& getline j; print j print "mail from: " s |& smtp; smtp |& getline j; print j if(match(r, ",")) { split(r, z, ",") for(y in z) { print "rcpt to: " z[y] |& smtp; smtp |& getline j; print j } } else { print "rcpt to: " r |& smtp; smtp |& getline j; print j } print "data" |& smtp; smtp |& getline j; print j print "From: " s |& smtp; ARGV[2] = "" # not a file print "To: " r |& smtp; ARGV[1] = "" # not a file if(length(sbj)) { print "Subject: " sbj |& smtp; ARGV[3] = "" } # not a file print "" |& smtp while(getline > 0) print |& smtp print "." |& smtp; smtp |& getline j; print j print "quit" |& smtp; smtp |& getline j; print j close(smtp) } # /inet/protocol/local-port/remote-host/remote-port This allows me to bypass the local MTA (if present). The message ID is also returned, which can be useful to log.
Comments
Here is a script that I use to send SMTP mail, via the gawk networking extensions. I have a few different versions, but this is the most basic:
This allows me to bypass the local MTA (if present). The message ID is also returned, which can be useful to log.