Для отправки будем использовать программу msmtp, т.к. она умеет отправлять почту через внешний smtp сервер и не требует наличия локального MTA.
Так как я любитель модульности скриптов то и скрипт будет состоять из нескольких частей. Главный скрипт будет заниматься отправкой пустого письма с заданными параметрами, а "модули" построят тело письма.