Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: sendmail -t < mail - mail přijde prázdný když je v těle zprávy znak * [vyřešeno]  (Přečteno 3290 krát)

Tetsuya

  • Aktivní člen
  • *
  • Příspěvků: 131
Zdravím,

Chci si udělat shellovej skript, kterej kontroluje status konkrétní služby na serveru a v případě, že služba neběží, odešle mailem varování.

Skript funguje tak, že vytvoří soubor mail (viz níže), zapíše do něj hlavičku mailu, do těla přidá výstup příkazu service (service služba status >> mail 2>&1) a soubor mail předá příkazu sendmail k odeslání (sendmail -t < mail).

Problém je v tom, že příkaz service vypíše status služby se znakem "*" na začátku textu a mail kvůli tomu přijde s prázdným tělem, bez výstupu z příkazu service. Pokud soubor mail před odeslaním upravím, a hvězdičku odeberu, tak je to ok.

Nemáte někdo tušení, jak by se to dalo vyřešit?

Předem díky za odpovědi.


Soubor mail:
Kód: [Vybrat]
To:jmeno@domena.cz
From:jmeno@domena.cz
Subject:Service ASSP Status - Warning
Content-Type: text/plain
X-Priority: 1 (Highest)
X-MSMail-Priority: High

 * ASSP (Anti-Spam SMTP Proxy) is not running
« Poslední změna: 04 Června 2012, 14:25:15 od Tetsuya »

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
zkus pouzit jako klienta mailx
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Tetsuya

  • Aktivní člen
  • *
  • Příspěvků: 131
zkus pouzit jako klienta mailx

Myslíš jako na straně příjemce, nebo pro odeslání zprávy? Ještě jsem zapoměl dodat, že zprávy přijímám Outlookem.

daysleeper

  • Stálý člen
  • **
  • Příspěvků: 1206
Používám (v Ubuntu) balík bsd-mailx, pak pro odeslání zprávy třeba takto:
Kód: [Vybrat]
service ssh status | mail -s ssh.status daysleeper@seznam.cz

Tetsuya

  • Aktivní člen
  • *
  • Příspěvků: 131
Používám (v Ubuntu) balík bsd-mailx, pak pro odeslání zprávy třeba takto:
Kód: [Vybrat]
service ssh status | mail -s ssh.status daysleeper@seznam.cz

Jo, tohle je ok. Akorát příkaz mail neumožňuje nastavit prioritu, nebo jsem nepřišel nato, jak...

Taky jsem teď zjistil, že hvězdička a všechno co je za ní je vyhodnocený jako součást hlavičky, takže výstup z příkazu service zůstane v hlavičce, a mail přijde zdánlivě prázdnej.

Spíš by mě zajímalo, jestli je nějakej tag do hlavičky, kterej by říkal, že dál už následuje jen tělo zprávy, aby si tu hvězdičku nevykládal spatně.

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
escapovat hvezdicku
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

Tetsuya

  • Aktivní člen
  • *
  • Příspěvků: 131
Ok, tak už jsem na to přišel.

Na ukončení hlavičky mailu se používá prazdnej řádek, kterej mi tam ten skript samozřejmě nedělal... Taky mě to mohlo napadnout...

Každopádně, díky za odpovědi - nakoplo mě to správným směrem. :)
« Poslední změna: 04 Června 2012, 14:21:08 od Tetsuya »

daysleeper

  • Stálý člen
  • **
  • Příspěvků: 1206
...
Jo, tohle je ok. Akorát příkaz mail neumožňuje nastavit prioritu, nebo jsem nepřišel nato, jak...
...
Umožňuje, pomocí mail -a <hlavicka>.

Tetsuya

  • Aktivní člen
  • *
  • Příspěvků: 131
...
Jo, tohle je ok. Akorát příkaz mail neumožňuje nastavit prioritu, nebo jsem nepřišel nato, jak...
...
Umožňuje, pomocí mail -a <hlavicka>.

Aha... Tak toho jsem si vůbec nevšimnul. Díky. :)

 

Provoz zaštiťuje spolek OpenAlt.