I have a Gitlab runner which runs every day, and sometimes builds and pushes a new docker image if a new version of some software has been released. curl --ssl-reqd \ --url "smtps://mail.example.com:465" \ --user "username:password" \ --mail-from "postmaster@example.com" \ --mail-rcpt "postmaster@example.com" \ --upload-file < ( echo -e "Subject: New $IMAGE_NAME : $IMAGE_VERSION tag pushed I wasn't sure if this would work initially as for all I knew gitlab would block outgoing port 465 from it's runners.