Gmail sendmail SMTP relay на ЦентОС Линуксу
Пошаљете имејл путем неке скрипте на серверу, имејл није „накачен“ ни на један SMTP сервер и онда зависите од антиспам филтера тог некога коме шаљете имејл – да ли ће бити добре воље (читај – да није лепо иконфигурисан антиспам филтер или да уоште и не постоји) па да пропусти мејл, или ће га пропустити до СПАМ фолдера или никад и неће видети светлост дана нечијег инбокса.
Кад се шаље преко SMTP-а примаоц добија регуларан мејл који као да је послат са било ког стандардног имејл клијента, нема лажи – нема преваре….и зато се у Вордпресу и сличним веб апликацијама користе SMTP додаци како би се избегао блеклистинг (то користи и блог на коме сте сад) – али шта ако не постоји могућност додатавања SMTP података кроз неки налог него сте приморани да користите локална подешавања? Ееее ту на сцену долази SMTP relay где ћете ви све локалне имејлове рутирати преко екстерног имејл сервера. Укратко уместо мејл да стигне са root@localhost.localdomain стићи ће са tvojaregularlnagmailadresa@gmail.com.
У овом примеру рутирање мејлова ћемо радити помоћу sendmail-a и ради се о Gmail налозима (може и Google Apps налози). Ово је до сад тестирано и рађено на CentOS 6 и CentOS 7 минимал машинама.
# Инсталација потребних пакета yum install -y sendmail sendmail-cf cyrus-sasl cyrus-sasl-devel cyrus-sasl-md5 cyrus-sasl-plain cyrus-sasl-gssapi # Бекап постојеће sendmail конфигурације cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bekap_`date +%Y%d%m%H%M` # Едитовање ######################################### vi /etc/mail/sendmail.mc # Пре прве MAILER linije dodati sledeћe (обично је трећа линија пред крај) 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') ###################################################### # Креирање фајла где ћемо уштековати логин податке mkdir /etc/mail/auth echo "AuthInfo:smtp.gmail.com \"U:root\" \"I:tvojagmailadresa@gmail.com\" \"P:lozinkanagmailu\"" > /etc/mail/auth/client-info # Дакле фајл треба да изгледа овако некако [root@centos7 mail]# cat /etc/mail/auth/client-info AuthInfo:smtp.gmail.com "U:root" "I:tvojagmailadresa@gmail.com" "P:lozinkanagmailu" # Креирање hash мапе потребне за sendmail cd /etc/mail/auth/ makemap hash client-info < client-info chmod 700 /etc/mail/auth chmod 600 /etc/mail/auth/* # Рекомпајлирање мејл фолдера tar czvf /root/etc-mail-bekap.tar.gz /etc/mail # Не једе леба бекап cd /etc/mail make service postfix stop chkconfig postfix off chkconfig sendmail on service sendmail restart # Провера да ли се имејлови са сервера саљу преко исконфигурисаног налога yum install mailx -y # Инсталација cli имејл клијента ако га већ нема echo "Ovo je test imejl" | mail -s "Test imejl poslat u $(date "+%H:%M %d.%m.%Y")" testimejl@mojmejl.com
Jovan
30/01/2017 @ 09:10
Odličan!
Ognjen
02/02/2017 @ 10:09
Mozda je cak i lakse da se radi sa Zimbra free mailom. Probao sam, Gmail propusta mail ali Yahoo ga saljeu spam.
Djokw
22/02/2017 @ 04:01
Ja sam probao ovako nesto, slican postupak, ali mi gmail cesto odbija porukr