Gmail alapú sendmail levelezés Ubuntu 18.04-es rendszeren

Ez a leírás hasznos ha mondjuk egy webszervert üzemeltetsz, de nincs 25-ös portod, vagy nem akarod kinyitni, vagy blacklist-re tette az ip címedet egy levelezőszolgáltató.

Első lépésként készíts, illetve jelentkezz be google fiókodba, majd kapcsold ki a biztonságos bejelentkezést ezen a linken. “Kevésbé biztonságos alkalmazások hozzáférése” címet keresd és engedélyezd. Ha kétfaktoros auth van bekapcsolva akkor alkalmazásjelszó létrehozására lesz szükséged, később majd azt kell megadni a belépéshez használt jelszavad helyett.

Ha megvagy akkor a szerveren szükséges az ubuntu alapú gépeden alkalmazni az alábbi beállításokat:

apt --purge autoremove postfix
apt install sendmail sendmail-bin mailutils
mkdir -m 700 /etc/mail/authinfo
nano /etc/mail/authinfo/gmail-smtp-auth
AuthInfo: "U:root" "I:USER@gmail.com" "P:GMAIL_USER_PASSWORD"
makemap hash /etc/mail/authinfo/gmail-smtp-auth < /etc/mail/authinfo/gmail-smtp-auth
nano /etc/mail/sendmail.mc

Keresd meg a MAILER_DEFINITIONS sort. Ezt és az ezt követő néhány sort töröld, majd illeszd be ezt:

dnl #
dnl # Defining Gmail Smarthost for sendmail
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_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/authinfo/gmail-smtp-auth.db')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl

Ha ez megvan:

make -C /etc/mail

Ilyesmit kell láss a kimeneten:

Creating /etc/mail/relay-domains
# Optional file...
Updating Makefile ...
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Creating /etc/mail/Makefile...
Updating sendmail.cf ...
The following file(s) have changed:
  /etc/mail/relay-domains /etc/mail/sendmail.cf
** ** You should issue `/etc/init.d/sendmail reload` ** **
make: Leaving directory '/etc/mail'

Ha megvan akkor indítsd újra a sendmail-t:

/etc/init.d/sendmail reload

Aztán teszteld le helyesek-e a beállítások:

echo "This is a test for sendmail gmail relay" | sendmail test-user@gmail.com