Mailscript with netcat

Aus Xinux Wiki
Version vom 11. September 2014, 15:14 Uhr von Thomas (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „#!/bin/bash # script to send test mail with netcat. # expects the following arguments: # 1. recepient mail server # 2. port (typically 25 or 465) # 3. mail fr…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
  1. !/bin/bash
  2. script to send test mail with netcat.
  3. expects the following arguments:
  4. 1. recepient mail server
  5. 2. port (typically 25 or 465)
  6. 3. mail from (e.g. from@example.com)
  7. 4. mail to (e.g. to@example.com)
  1. for mail_input function

from=$3 to=$4

  1. error handling

function err_exit { echo -e 1>&2; exit 1; }

  1. check if proper arguments are supplied

if [ $# -ne 4 ]; then

 echo -e "\n Usage error!"
 echo " This script requires four arguments:"
 echo " 1. recepient mail server"
 echo " 2. port (typically 25 or 465)"
 echo " 3. mail from (e.g. from@example.com)"
 echo " 4. mail to (e.g. to@example.com)"
 exit 1

fi

  1. create message

function mail_input {

 echo "ehlo $(hostname -f)"
 echo "MAIL FROM: <$from>"
 echo "RCPT TO: <$to>"
 echo "DATA"
 echo "From: <$from>"
 echo "To: <$to>"
 echo "Subject: Testing one two three"
 echo "This is only a test. Please do not panic. If this works, then all is well, else all is not well."
 echo "In closing, Lorem ipsum dolor sit amet, consectetur adipiscing elit."
 echo "."
 echo "quit"

}

  1. test
  2. mail_input
  1. send

mail_input | nc $1 $2 || err_exit