la verdad no entiendo la pregunta, ya que no es necesario saber cuando el sistema se inicia en sí, sino lanzar el script al inicio.
windows
1) Añadir el script a la carpeta Inicio
2) Programar el inicio del script como una tarea
linux
1) Usando rc.local
2) Con Crontab
3) en ubuntu y varias otras distros esta inicio
con respecto a los mails se puede usar: stmplib
windows
1) Añadir el script a la carpeta Inicio
2) Programar el inicio del script como una tarea
linux
1) Usando rc.local
2) Con Crontab
3) en ubuntu y varias otras distros esta inicio
con respecto a los mails se puede usar: stmplib