Wstęp

Celem jest postawienie serwera pocztowego (SMTP), do testów strony z rejestracją i aktywacją użytkowników. Główne kryteria:

  • odbierze 80K maili w ciągu godziny

  • jak najmniejszy koszt

  • powinien też pozwalać na odbieranie maili przez wiele wątków, czyli mieć podstawową transakcyjność

  • do serwera pocztowego powinno dać się wysłać maile z „normalnej” poczty.

Procedura instalacji

  1. Postaw instancję na AWS
    • wystarczy t2.micro (1 core, 1 GB RAM)
    • najlepiej Amazon Linux, bo Ubuntu ma preinstalowanego postfixa, który zajmuje port 25
    • udrożnij odpowiednie porty (Mailhog: 25, 8025; MongoDB 27017)
    • adresy mailowe będą np. @ec2-18-193-180-38.eu-central-1.compute.amazonaws.com, dowolny użytkownik
  2. Zainstaluj MongoDB
  3. Zainstaluj MailHoga
  4. Zainstaluj screen
  5. Uruchom na screenie MailHoga
    • ~/go/bin/MailHog -storage mongodb

Wykorzystanie

Wszystkie maile lądują w jednej skrzynce i jednej kolekcji w MongoDB. Jeżeli potrzeba odebrać maile do konkretnych użytkowników, to można filtrować po odbiorcy.

Na przykład przy wywołaniu metody find_one_and_delete() można dodawać filtr po odbiorcy.

GUI

Maile można czytać pod adresem http://:8025.

W Pythonie

W Locuście