# [SOLVED][LED] Powiadomienie o nowych wiadomościach

## Insenic

W moim laptopie jest dioda, która ma służyć jako informacja o nowych wiadomościach na skrzynce pocztowej. Aby włączyć diodę należy wykonać:

```
echo 1 >/proc/acpi/asus/mled
```

by wyłączyć wstawiamy wartość 0. Teraz jak to zrobić aby po przyjściu nowych wiadomości dioda zapalała się, a po ich przeczytaniu (przy braku nowych wiadomości) wyłączała się?

----------

## Raku

podstawowe pytanie: gdzie te wiadomości przychodzą?

możesz napisać jakiś skrypt w bashu czy perlu, który będzie sprawdzał twoją skrzynkę (gdziekolwiek jest) i odpowiednio ustawiał wartość w /proc.

----------

## Insenic

Może głupie pytanie, ale jak taki skrypt napisać. Nie mam wystarczającej wiedzy by zrobić to samemu, może są gdzieś gotowe takie skrypty?

----------

## Paczesiowa

w kmail sa jakies zdarzenia typu "otryzmano nowa poczte" do ktorech mozna podpiac wykonanie jakiegos programu.

narzedzia->konfiguracja powiadomien

----------

## Insenic

Chciałbym by to działało w tle, bez uruchomienia żadnego programu. Chciałbym aby w cronie był skrypt, który na bieżąco (co minutę) sprawdzał mi czy jest nowa poczta czy nie. Nie wiem tylko jak takowy skrypt napisać.

----------

## arsen

ale maile masz w jakims maildir?

----------

## Raku

 *Insenic wrote:*   

> Może głupie pytanie, ale jak taki skrypt napisać. 

 

man {bash,perl,cokolwiek innego}

 *Quote:*   

> Nie mam wystarczającej wiedzy by zrobić to samemu, może są gdzieś gotowe takie skrypty?

 

www.google.pl

----------

## Insenic

 *arsen wrote:*   

> ale maile masz w jakims maildir?

 

Nie. Na poczcie na zewnętrznym serwerze. A da się je pobierać do maildir, tak by później Thunderbird mógł je czytać. Jak tak to jak to zrobić?

 *Raku wrote:*   

> www.google.pl

 

Myślisz że nie szukałem? Cały czas szukam...

----------

## weni

 *Insenic wrote:*   

> 
> 
> Nie. Na poczcie na zewnętrznym serwerze. A da się je pobierać do maildir, tak by później Thunderbird mógł je czytać. Jak tak to jak to zrobić?

 

emerge fetchmail

Wysoko konfigurowalny, może działać w tle itp.

http://fetchmail.berlios.de/fetchmail-man.html

----------

## Insenic

Zainstalowałem getmail'a. Pobrałem wiadomości do Maildir. Teraz jak skonfigurować Thunderbirda by on mógł z tego katalogu czytać? Jak teraz napisać skrypt (użyć programu) by uruchamiać tą diodę gdy są wiadomości nowe i gasić gdy ich nie ma?

----------

## c2p

 *Insenic wrote:*   

> Zainstalowałem getmail'a. Pobrałem wiadomości do Maildir. Teraz jak skonfigurować Thunderbirda by on mógł z tego katalogu czytać?

 

Ja to mam rozwiązane tak:

1. Poczta pobierana jest co pewien czas skryptem:

```
#!/bin/sh

fetchmail -av -m "/usr/bin/procmail -d %T" "$@"
```

2. W pliku .fetchmailrc definiujesz konta pocztowe:

```
poll <serwer> protocol <protokol>(zazwyczaj pop3) user <login> password "<haslo>"
```

3. Maile przechodzą przez procmaila, więc go też musisz skonfigurować:

kawałek mojego pliku .procmailrc:

```
MAILDIR=$HOME/mail                ##you better make sure it exists

LOGFILE=$HOME/.procmaillog

LOGABSTRACT=no

VERBOSE=off

FORMAIL=/usr/bin/formail

NL="

"

#catch duplicates using formail

:0 Whc: .msgid.lock

| $FORMAIL -D 16384 .msgid.cache

:0 a

$MAILDIR/duplicates

# gentoo

:0

* ^From:.*(gentoo.org)

$MAILDIR/gentoo

<ciach ciach ciach>

# reszta wiadomości

:0

* .*

$MAILDIR/Inbox
```

4. I jeszcze jedno:

```
c2p@segfault ~ $ ls mail/ -l

-rw------- 1 c2p users 3888489 lut  5 16:11 duplicates

lrwxrwxrwx 1 c2p users      75 lut  1  2006 gentoo -> /home/c2p/.thunderbird/omtgux09.default/Mail/Local Folders/Inbox.sbd/gentoo

lrwxrwxrwx 1 c2p users      64 sty 30  2006 Inbox -> /home/c2p/.thunderbird/omtgux09.default/Mail/Local Folders/Inbox

lrwxrwxrwx 1 c2p users      73 lut  1  2006 SPAM -> /home/c2p/.thunderbird/omtgux09.default/Mail/Local Folders/Inbox.sbd/SPAM
```

Czyli w katalogu ~/mail/ tworzysz dowiązania do skrzynek utworzonych w Thunderbirdzie.

----------

## Insenic

Skonfigurowałem to ostatecznie mniej więcej tak jak jest to opisane tutaj. Teraz czy mógłby mnie ktoś naprowadzić jak to zrobić by sprawdzić ilość nowych wiadomości z katalogu ~/.maildir/new (bo tam są zapisywane nowe wiadomości) i włączyć diodę gdy są nowe wiadomości, wyłączyć gdy ich nie ma?

EDIT:

Poszukałem trochę w internecie jak mają wyglądać skrypty bash i wykombinowałem coś takiego

```
#!/usr/bin/env bash

/usr/bin/fetchmail -s

newmail=`ls -1 /home/insenic/.maildir/new|wc -l` 

if [ "$newmail" = "0" ]

then

   echo "0" >> /proc/acpi/asus/mled

else

   echo "1" >> /proc/acpi/asus/mled

fi

```

Może to nie jest rewelacyjnie napisane, ale w sumie to mój pierwszy skrypt ;)

Teraz wystarczyło to tyko wrzucić do Cron'a i już wszystko jest w porządku. SOLVED.

----------

## sir KAT

Najprościej użyć programiku Korn, sprawdza pocztę na dowolnej skrzynce również na zdalnym serwerze a po otrzymaniu wiadomości może wykonać zadane polecenie.

----------

## Insenic

 *sir KAT wrote:*   

> Najprościej użyć programiku Korn, sprawdza pocztę na dowolnej skrzynce również na zdalnym serwerze a po otrzymaniu wiadomości może wykonać zadane polecenie.

 

I instalować zależności KDE? Myślę że rozwiązanie do jakiego udało mi się dojść, jest w miarę dobre i co najważniejsze niezależne od środowiska graficznego (ba, działa nawet w trybie tekstowym) i programu pocztowego...

----------

