The script is based on zenity and the Postfix mail generator smtp-source. It is meant for testing mail-relays and what they return if something goes wrong. Or if you just need a lot of test mails send quickly.
There are a couple of more options available but I don't need them at the time. If you need them you can use this as a starting point and then just add them yourself.
#!/bin/bash # Basic variables OUTFILE="/tmp/smtp-source.out" rm $OUTFILE 2>/dev/null DATETIME=`date +%H\:%M` # -f FROM="test@nixgeek.org" # -t RECIPIENT="nouser@lnxgeek.org" # -m MSGCOUNT=10 # -M HELOHOST="mail.lnxgeek.org" # -S SUBJECT="Test_Mail_$DATETIME" HOST="" # Check if Postfix is installed INSTALLED=`which smtp-source` if [ "$INSTALLED" == "" ] then zenity --error --text="Postfix Not Installed! \n\nTo install run 'sudo apt-get install postfix'" exit 0 fi # Ask for the host HOST=`zenity --entry-text=$HOST --entry --text="Mail-Relay (host:port)"` # Breakout if no host is specified if [ "$HOST" == "" ] then exit 0 fi # Ask for a sender address FROM=`zenity --entry-text=$FROM --entry --text="Sender Address"` # Ask for recipient RECIPIENT=`zenity --entry-text=$RECIPIENT --entry --text="Recipient Address"` # Ask for messagecount MSGCOUNT=`zenity --entry-text=$MSGCOUNT --entry --text="No. of Messages to Send"` # Ask for helo host HELOHOST=`zenity --entry-text=$HELOHOST --entry --text="Helo hostname"` # Ask for subject SUBJECT=`zenity --entry-text=$SUBJECT --entry --text="Subject"` # Collect command CMD="smtp-source -f $FROM -t $RECIPIENT -m $MSGCOUNT -M $HELOHOST -S $SUBJECT $HOST" # Executing commands $CMD 2>$OUTFILE | zenity --progress --pulsate --auto-close # Test result SIZE=`ls -lh $OUTFILE | awk '{print $5}'` if [ $SIZE -gt 0 ] then cat $OUTFILE | zenity --text-info --width 530 exit 0 fi echo "*SUCCESS*" | zenity --text-info rm $OUTFILE