Слање мејлова путем mailx и екстерног SMTP сервера на ЦентОС 7 Линуксу

За слање инфо mailова из crontab-а се најчешће користи mail – који је заправо само симболички линк до програма mailx. Да би се избегли СПАМ филтери и блокаде од стране других мејл сервера потребно је користити регуларан мејл сервер и у овом примеру ћемо користити Gmail/GoogleАpps SMTP за слање а све ћемо радити на ЦентОС 7 у „Minimal Install“ варијанти – мада контам да је иста филозофија и на свим осталим дистрама. За разлику од mutt-а овде не морамо ништа да компајлирамо ручно, све се завршава на yum install.

# Ако нема mailx-a инсталирати га
yum install mailx -y

# Креирање фолдера где ће бити база са сертификатима и повлачење Гугловог са којег шаљемо
mkdir ~/.certs
certutil -N -d ~/.certs
echo -n | openssl s_client -connect smtp.gmail.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/gmail.crt
certutil -A -n "Google Internet Authority" -t "C,," -d ~/.certs -i ~/.certs/gmail.crt

# Слање текстног мејла
echo -e "Sadrzaj emaila" | mailx -v -s "Email subject" -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.gmail.com:587 -S from="tvoj-email@gmail.com(Ime Prezime)" -S smtp-auth-user=tvoj-email@gmail.com -S smtp-auth-password=lozinka-za-gmail -S ssl-verify=ignore -S nss-config-dir=~/.certs tvoj-drugi-neki-nalog@gdegod.com

# Креирање алијаса како би се упростило и олакшало слање мејлова
vi ~/.bash_profile
# Ovde dve linije dodajte na kraj
alias mailx='mailx -S smtp-use-starttls -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.gmail.com:587 -S from="tvoj-email@gmail.com(Ime Prezime)" -S smtp-auth-user=tvoj-email@gmail.com -S smtp-auth-password=lozinka-za-gmail -S ssl-verify=ignore -S nss-config-dir=~/.certs'
alias mail=mailx
# Повлачење алијаса из bash_profile
. ~/.bash_profile

# Тестирање слања мејла упрошћеном командом
echo "Tekst poruke" | mail -s "Test email" tvoj-drugi-neki-nalog@gdegod.com