Pošaljete mail putem neke skripte na serveru, mail nije „nakačen“ ni na jedan SMTP server i onda zavisite od antispam filtera tog nekoga kome šaljete email – da li će biti dobre volje (čitaj – da nije lepo ikonfigurisan Antispam filter ili da uošte i ne postoji) pa da propusti mail, ili će ga propustiti do SPAM foldera ili nikad i neće videti svetlost dana nečijeg inboxa.

…to je tako jer primaocu stiže mail sa mail servera koji je na lokalnoj IP adresi, nevidljiv spolja, sa neispravnim podešavanjima hedera – što mail serveru automatski deluje kao neka prevara. Šta mene košta da dignem neki mail server i napišem skriptu koja će u loopu slati mailove na milion IP adresa u kojima prodajem Vijagru, Rolex satove ili tako neki đavo?

Kad se šalje preko SMTP-a primaoc dobija regularan mail koji kao da je poslat sa bilo kog standardnog email klijenta, nema laži – nema prevare….i zato se u WordPressu i sličnim aplikacijama koriste SMTP dodaci kako bi se izbegao blacklisting (to koristi i blog na kome ste sad) – ali šta ako ne postoji mogućnost dodatavanja SMTP podataka kroz neki nalog nego ste primorani da koristite lokalna podešavanja? Eeee tu na scenu dolazi SMTP relay gde ćete vi sve lokalne mailove rutirati preko eksternog email servera. Ukratko umesto mail da stigne sa root@localhost.localdomail stići će sa tvojaregularlnagmailadresa@gmail.com.

U ovom primeru rutiranje mailova ćemo raditi pomoću sendmaila i radi se o Gmail nalozima (može i Google Apps nalozi). Ovo je do sad testirano i rađeno na CentOS 6 i CentOS 7 minimal mašinama.

# Instalacija potrebnih paketa 
yum install -y sendmail sendmail-cf cyrus-sasl cyrus-sasl-devel cyrus-sasl-md5 cyrus-sasl-plain cyrus-sasl-gssapi

# Backup postojece sendmail konfiguracije
cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bekap_`date +%Y%d%m%H%M`

# Editovanje#########################################
vi /etc/mail/sendmail.mc

# Pre prve MAILER linije dodati sledece (obicno je treca pred kraj)
define(`SMART_HOST',`smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
######################################################

# Kreiranje fajla gde cemo ustekovati login podatke
mkdir /etc/mail/auth
echo "AuthInfo:smtp.gmail.com \"U:root\" \"I:tvojagmailadresa@gmail.com\" \"P:lozinkanagmailu\"" > /etc/mail/auth/client-info

# Dakle fajl treba da izgleda ovako nekako 
[root@centos7 mail]# cat /etc/mail/auth/client-info
AuthInfo:smtp.gmail.com "U:root" "I:tvojagmailadresa@gmail.com" "P:lozinkanagmailu"

# Kreiranje hash mape potrebne za sendmail
cd /etc/mail/auth/
makemap hash client-info < client-info
chmod 700 /etc/mail/auth
chmod 600 /etc/mail/auth/*

# Rekompaliranje mail foldera
tar czvf /root/etc-mail-bekap.tar.gz /etc/mail # Ne jede leba bekap
cd /etc/mail
make 
service postfix stop
chkconfig postfix off
chkconfig sendmail on
service sendmail restart

# Provera da li se mailovi sa servera salju preko iskonfigurisanog naloga
yum install mailx -y # Instalacija cli email klijenta ako ga vec nema
echo "Ovo je test email" | mail -s "Test email poslat u $(date "+%H:%M %d.%m.%Y")" testemail@mojmejl.com