MailBot służy do wysyłania automatycznie maili o określonej treści do odbiorców, którzy są zapisani w pliku txt.
mail- adres e-mail nadawcypassword- hasło nadawcyhost- adres serwera mailowegoport- port SMTP serweramails_txt_file- nazwa pliku.txtw katalogudatazawierająca listę maili wraz z użytkownikami, którzy mają być końcowymi odbiorcami wiadomości (struktura pliku poniżej)mails_json_file- nazwa pliku.json(w katalogudata), do której ma być zapisana struktura danych zawierająca nazwy użytkowników, adresy e-mail oraz ich UUIDsubject- temat wiadomościmail_template- nazwa pliku.txt, w którym jest szablon wiadomości przesyłanej do użytkowników (struktura pliku poniżej)date- data zakończenia ewidencjiattachments_subject- temat wiadomości zwrotnej do nadawcy zawierającej załączniki z wynikami działania botaattachment_mail_text- tekst powyższej wiadomościconfirm_link- link do strony służącej do potwierdzania użytkowników z przygotowanym już wcześniej polem w adresie do przyjęcia żądaniaHTTP GET
Pojedynczy rekord danych powinien wyglądać następująco:
mail: <mail użytkownika>
Rekordów może być dowolna ilość, wszystko poza tym schematem zostanie zignorowane.
Treść pliku może być dowolna, istnieją ponadto dwa literały podmiany indywidualizujące treść maila:
{mail}jest zamieniane w treści maila na nazwę danego użytkownika z pliku{date}jest zamienane na podaną datę zakończenia ewidencji{confirm_link}jest zamienane na podany link wraz z dodanym UUID danego użytkownika
- Przekopiuj plik
config/config.json.examplejakoconfig/config.json. - Wprowadź swoją konfigurację do utworzonego wyżej pliku.
- Postąp tak samo w przypadku pliku zapisanego pod
mail_template. - Utwórz katalog
data, po czym umieść w nim plik zapisany podmails_txt_file.
Wystarczy wpisać polecenie:
./mailbot.py
Po wysłaniu maili do wszystkich podanych odbiorców następuje wysłanie maila z załącznikami o wynikach działania bota do nadawcy tych wiadomości - co zabezpiecza przed sytuacją stracenia wszystkich danych przez ponowne uruchomienie bota.
Te pliki zawierają dane potrzebne do dalszego etapu ewidencji maili
data/mails.json- struktura danych zawierająca niezbędne UUIDlogs/logs.log- logi, w których są zawarte informacje dlaczego nie udało się wysłać mailalogs/sent.log- lista adresów, na które udało się wysłać maillogs/notsent.log- lista adresów, na które nie udało się wysłać maila