Într-o zi frumoasă, fără niciun motiv discernabil, Ubuntu 18.04 server de afaceri a oprit redirecționarea e-mailurilor la adresa mea Gmail.

Chiar cu o zi înainte, fișierele .forward pe care le-am creat în directoarele de start ale conturilor de server locale pe care le folosesc pentru e-mail – cum ar fi /home/office/.forward – redirecționau cu bucurie toate mesajele adresate adreselor mele de afaceri către cotidianul meu -utilizați contul Gmail. Și apoi s-au oprit brusc.

Când am observat că ceva nu este în regulă, am consultat imediat jurnalele serverului meu. /var/log/mail.err scuipa mesaje fermecătoare care includeau lucruri precum:

status=deferred (delivery temporarily suspended: connect to alt2.gmail-smtp-in.l.google.com[219.8.202.27]:25: Connection timed out)

Verificând căsuțele poștale ale serverului, mi-a spus că primeau mesaje, dar că Postfix nu putea stabili o conexiune la Gmail pentru a redirecționa mesaje la adresa mea.

Bineînțeles, am repornit Postfix, dar asta nu a ajutat.

sudo systemctl restart postfix

Am confirmat că nu există nimic care să blocheze mesajele de ieșire de la a părăsi serverul meu pe portul 25 (SMTP). Apoi am verificat pentru a mă asigura că domeniul meu nu a fost cumva inclus pe lista neagră (există numeroase pe net instrumente asta va face asta pentru dvs.) și am aruncat o privire asupra stării înregistrărilor mele MX executând dig din linia de comandă:

dig MX bootstrap-it.com

Nimic nu face. Totul părea să se uite.

După câteva sesiuni frustrante de depanare, am renunțat și m-am gândit că voi încerca ceva complet diferit.

Fiind un arhitect de soluții AWS și fiind co-autor de două cărți pentru Wiley / Sybex pe AWS (una a ghid pentru examenul Cloud Practitioners și unul pentru Soluții Arhitect examen asociat), nu ar trebui să fiu dispus și capabil să-mi construiesc propria stivă de instrumente AWS care să gestioneze nevoile serverului meu de e-mail în cloud?

Ei bine, se pare că am fost amândoi dispus și – după câteva cercetări serioase, încercări și erori – capabil. Pentru a realiza acest lucru ar necesita:

  • Crearea unui bucket S3 unde vor fi stocate e-mailurile primite.
  • Crearea unui subiect Serviciu simplu de notificare (SNS) pentru a-mi trimite prin e-mail o notificare de fiecare dată când sosește un nou e-mail.
  • Configurarea serviciului de e-mail simplu (SES) al Amazonului pentru a prelua domeniul meu de e-mail (bootstrap-it.com) și pentru a gestiona mesajele primite. Aceasta implică adăugarea unei înregistrări MX la Route 53 (unde sunt gestionate domeniile mele) și indicarea SES către domeniul meu; adăugarea și verificarea fiecărei adrese de e-mail pe care vreau să o controleze SES; și apoi spunând SES să trimită mesaje noi către bucket-ul meu S3, declanșând totodată o alertă pentru subiectul SNS.
  • Presupunând că și tu vei dori trimite mesaje de e-mail prin intermediul serviciului, este, de asemenea, o idee bună să configurați SES pentru a semna mesajele dvs. de ieșire folosind MailKeys Identified Mail (DKIM).

Nu voi descrie aici toți acești pași în detaliu. Sunt destule documentare excelentă disponibil pentru asta. Dar voi menționa pe scurt câteva puncte de durere pe care le-ați putea întâlni.

Va trebui să adăugați o înregistrare MX în zona dvs. găzduită DNS pentru fiecare domeniu pe care îl utilizați. Chiar dacă domeniile dvs. sunt gestionate în Amazon Route 53, va trebui să furnizați o valoare pentru înregistrarea dvs.

Ceea ce utilizați pentru această valoare va depinde de regiunea AWS în care se află resursa SES. În cazul meu, arăta astfel:

10 inbound-smtp.us-east-1.amazonaws.com

Notificările SNS vor ajunge într-un singur șir lung de text care conține doar câteva bucăți scurte de informații utile, dar greu de citit. Acest lucru va fi suficient pentru a identifica spamul, dar de obicei veți avea nevoie de mai multe informații decât cele pe care le veți găsi aici. Folosesc notificările ca head-up, spunându-mi că există o poștă nouă în cupa mea S3.

Vizualizarea e-mailurilor în bucket-ul dvs. S3 prin AWS Management Console nu este sfârșitul lumii dacă se întâmplă doar o dată sau de două ori pe lună. Dar dacă vin mai repede decât asta, va trebui să găsiți o modalitate mai bună de a accesa și de a citi mesajele dvs.

Cu toate acestea, crearea unui protocol pentru automatizarea acestui proces este într-adevăr o problemă a sistemului de operare local care necesită un set complet diferit de instrumente. Am rezolvat problema pentru mine folosind AWS CLI și un script cool Bash. Dacă doriți să vedeți cum am făcut asta, faceți clic pe acest articol.

Există mult mai multă bunătate administrativă sub formă de cărți, cursuri și articole disponibile la adresa mea bootstrap-it.com.