Wysyłanie wiadomości e-mail za pomocą basha

0

Witam,
mam taki problem, potrzebuje wysyłać automatyczne wiadomości cyklicznie poprzez skrypt bash. Doszedłem do tego jakim skryptem wysłać + dołaczyć załącznik ale nie mogę poradzić sobie jak tekst z załącznika wstawić w treść e-maila i jak go tam sformatować

0

nie lepiej skrypt np. pythona a .sh tylko do odpalania pythona w cronie?

0

wysyłam już cyklicznie kilka wiadomości za pomocą basha dlatego tutaj szukam. Jesteś w stanie pomóc?

0
sdurzyns napisał(a):

Witam,
mam taki problem, potrzebuje wysyłać automatyczne wiadomości cyklicznie poprzez skrypt bash. Doszedłem do tego jakim skryptem wysłać + dołaczyć załącznik ale nie mogę poradzić sobie jak tekst z załącznika wstawić w treść e-maila i jak go tam sformatować

Jakiego załącznika?

0

.txt

0
sdurzyns napisał(a):

.txt

Możesz skorzystać z jednego z moich skryptów (używa mutta do wysyłania maili) - tam do treści dorzuca zawartość pliku exe:

mutt -H - "$MAIL_FROM" <<EOF
From: backup skrypt
To: $MAIL_TO
Subject: UWAGA: Błąd podczas weryfikacji archiwum z SERWERÓW: $file 

Katalog: $BACKUP_DIR

Do sprawdzenia log:

$(cat file.txt)

EOF

Jeżeli korzystasz z mailutils, czyli masz polecenie mail - w zasadzie podobnie:

cat file.txt | mail -s Subject [email protected]

Ogólnie można to zrobić na milion sposób, więc polecam poeksperymentować, z mailutils lub z muttem (i podobnymi).

0

Super. Dzięki za przykład. Zobaczę czy coś z tego wyłuskam

Teoretycznie samą treść już dałem radę dorzucić tylko w treści maila nie wyglądało to estetycznie... Pytanie czy jest jakiś sposób na obróbkę tego w bashu. Słowa w pliku test.txt oddzielam za pomocą np. separatora /

0

W załączniku podsyłam screen maila w celu zobrazowania o co mi chodzi. Jak widać sama treść wymaga formatowania bo mało czytelna jest. Pytanie jak można to zrobić, pomożecie?

0

Większość fontów ma znaki różnych wielkości (w jest zwyczajowo szersze niż i, na przykład); istnieje jednak pewien zbiór fontów - monospace (np. Courier New) - gdzie wszystkie znaki mają identyczną szerokość.

Tak więc musiałbyś w swoim mailu albo zmienić font wszystkiego na jakiś monospace, albo wrzucić tanten fragment w znacznik pre (wtedy przeglądarka sama dobierze odpowiedni font).

0

na tą chwilę nie bardzo wiem jak to zrobić. Masz może na to jakiś przykład?

0

https://stackoverflow.com/questions/3317174/sending-html-mail-using-a-shell-script + owiń swój tekst w <pre>RDC_FOOD | RDC_...</pre>.

0
sdurzyns napisał(a):

na tą chwilę nie bardzo wiem jak to zrobić. Masz może na to jakiś przykład?

Masz zazwyczaj 2 sposoby wysłania treści wiadomości w mailu:

  1. Zwykły tekst, teraz kwestia tego, jak on wygląda, zależy od czcionki używanej przez czytającego maila - nie możesz tego wymusić. W twoim przypadku pewnie chodzi Ci o to, aby tabelka się nie rozłaziła - nie będzie, jeśli została poprawnie zrobiona
    w czcionce o stałej szerokości (mono w nazwie) - znaczy się ona na takiej wygląda "poprawnie" + zostanie odczytana za pomocą takiej czcionki

  2. Możesz użyć wiadomości w html do sformatowania tabel - choć dawniej nie było to wskazane by przesyłać maile w htmlu, ale obecnie to raczej wszędobylskie i każdy klient to obsłuży (chyba, że klient w konsoli - tutaj należy uważać). Tak samo jak w pkt 1) nie możesz wymusić aby czytający e-mail otwierał ją w htmlu, może mieć taką opcje wyłączoną, albo niektóre klienty mogą ze względów bezpieczeństwa blokować niektóre znaczniki (tabele nie powinny do nich należeć)

  1. Można generować tabelkę... w pliku graficznym i wysłać taki plik - wtedy będzie wygląda zawsze tak jak to sobie zaplanowałeś. Problem w tym, że plik graficzny jest cięższy od tekstu, do tego ciężej się na nim bawić (typu przeklejać ścieżki czy w ogóle tekst)

Podsumowując większość spraw zależy od tego, kto i jakim programem będzie czytał te maile.

1 użytkowników online, w tym zalogowanych: 0, gości: 1