Tiedotejärjestelmän lähdekoodi
Go to file
2023-12-17 21:45:30 +02:00
.guix/modules Lisää lisenssitiedot purebred-email-pakettiin 2023-08-08 19:34:36 +03:00
src Korjaa kirjoitusvirhe 'receive' komennossa 2023-12-17 21:45:04 +02:00
templates Ensimmäinen versio 2023-08-08 19:11:26 +03:00
.guix-authorizations Ensimmäinen versio 2023-08-08 19:11:26 +03:00
.guix-channel Ensimmäinen versio 2023-08-08 19:11:26 +03:00
channels.scm Päivitä channels.scm 2023-09-02 14:43:28 +03:00
COPYING.md Ensimmäinen versio 2023-08-08 19:11:26 +03:00
guix.scm Ensimmäinen versio 2023-08-08 19:11:26 +03:00
README.md Lisää README.md 2023-12-17 21:45:30 +02:00
Setup.hs Ensimmäinen versio 2023-08-08 19:11:26 +03:00
tiedote-md.cabal Lisää komento palvelimen tilan tulostamiseen 2023-09-02 14:42:22 +03:00

Tiedote.md

Tiedote.md on yksinkertainen massasähköpostijärjestelmä, joka perustuu Gittiin, Pandocin markdowniin ja sähköpostiin.

Kehittäminen

Kehitysympäristön saa luotua helposti komennolla guix shell. Muutoksia koodiin hallitaan Git-versionhallintatyökalulla ja muutosehdotuksia voi lähettää git send-email:n avulla osoitteeseen admin@mail.olarinmaensamoojat.fi tai Gitean avulla.

Asentaminen

Helpoin tapa asentaa tiedote.md on lisätä alla oleva kanava Guix:n kanavalistaan.

(channel
 (name 'tiedote.md)
 (url "https://git.olarinmaensamoojat.fi/OMS/tiedote.md.git")
 (branch "main")
 (introduction
  (make-channel-introduction
   "d9157e9e8aa78363d14344293d6a0bc47a8d5a7b"
   (openpgp-fingerprint
    "A0C9 1947 734F 076F 5F08 E9FF 257D 284A 2A1D 3A32"))))

Tämän jälkeen ajetun guix pull -komennon jälkeen tiedote.md on saatavilla tiedote-md nimisenä pakettina kaikkialla Guixissa.

Koodin voi myös kääntää käsin Haskellin cabal-infrastruktuurin avulla.

Ajaminen

Tiedote.md koostuu kahdesta osasta: palvelimesta ja sähköpostin toimittajasta. Sähköpostin toimittaja vastaanottaa sähköpostit ja toimittaa ne palvelimelle käsiteltäväksi. Palvelin vastaa kaikesta kirjanpidosta, sähköpostien lähettämisestä ja Git-tietovaraston päivittämisestä, kun se saa muutoksista ilmoituksen HTTP POST -pyyntönä (esim. Git-palvelun webhookista).

Palvelimen voi käynnistää komennolla tiedote.md server. Mahdolliset asetukset saa listattua lisäämällä komentoon --help valitsimen. --address valitsimesta tulee huomata, että osoitteessa voi käyttää vain ASCII-merkkejä (ks. #15).

Sähköpostin lähettämiseen tarvitaan sendmail-yhteensopiva MTA (mail transfer agent, sähköpostin välitysohjelma), jollaisen useimmat sähköpostipalvelimet tarjoavat. Jos tiedote.md:n palvelimella ei ole omaa sähköpostipalvelinta, voi tähän käyttää msmtp:tä.

Sähköposti saapuu tiedote.md:n tietoon niin, että se annetaan komennon tiedote.md receive syötteeksi (tarkista, että asetusvalitsimet vastaavat palvelimen asetuksia). Tämä on yleensä helppo automatisoida .forward-tiedostolla seuraavankaltaisella rivillä, jos tiedote.md on palvelimella, jolle toimitetaan tiedote.md:lle tulevat sähköpostit.

|/path/to/tiedote.md receive

Muissa tapauksissa joutuu todennekäisesti kirjoittamaan skriptin, joka hakee sähköpostit jostain muualta tai toimittaa ne esim. ssh:n yli tiedote.md receive:lle.