1 (edytowany przez patryk 2011-02-19 21:31:13)

Temat: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

wymagania:
- fetchmail
- procmail
- zewnetrzny nośnik (nie koniecznie, ale ze względu na ograniczoną liczbę cykli zapis-odczyt na flashach, nie radzę bez niego)

założenia:
- konto na gmail.com
- aktywny pop3
- adres: test@gmail.com
- hasło: tajnehaslo
- dysk zamontowany w /mnt/hdd
- poczta sprawdzana co minutę

instalacja probramów:

opkg update
opkg install fetchmail procmail

konfiguracja:
twożymy konfiguracje dla fetchmail
plik '/root/.fetchmailrc' (chmod 700. więcej spowoduje błąd) - dzięki arteq

set bouncemail
set no spambounce
set properties ""

#konto gmail

poll pop.gmail.com with proto pop3
user "test@gmail.com"
password "tajnehaslo"
options fetchall ssl

# MDA

mda "/usr/bin/procmail -f -F% -d root"

konfiguracja procmail:
plik /root/.procmailrc

# Katalog, w którym ma być przechowywana poczta (trzeba go utworzyć)
MAILDIR=/mnt/hdd/poczta

# Domyślny katalog z pocztą
DEFAULT=/mnt/hdd/poczta

# Plik z logiem
LOGFILE=/mnt/hdd/poczta/log

LOGABSTRACT=no
VERBOSE=off

tworzymy skrypt:
plik '/skrypty/mail.sh' (albo inny) - wykonywalny

#!/bin/ash
if [ -f /mnt/hdd/poczta/msg* ]
then
#tu idą instrykcje do wykonania
#jeżeli jest nowa poczta np:
/skrypty/say.sh "nowa poczta"

rm /mnt/hdd/poczta/msg* #ta instrukcja czyści wiadomosci z dysku (koniecznie)
fi

dodajemy rekord do krontaba:

echo "*/1 * * * * /skrypty/mail.sh" >> /etc/crontabs/root

robimy autostart:
plik '/etc/init.d/mojapoczta' - wykontwalny

#!/bin/sh /etc/rc.common
START=99

start () {
  fetchmail -k -d 60
}

uruchamiamy kombajn:

/etc/init.d/mojapoczta enable
/etc/init.d/mojapoczta start

pozmieniać ścieżki, wpisać swoje ustawienia i instrukcje...
ma  działać wink

---edit---
fetchmail może nie działać bez pliku '/etc/services'
jeżeli go nie ma, to trzeba go utworzyć.
minimalna zawartość:

pop3            110/tcp         # POP version 3
pop3            110/udp
pop3s           995/tcp                 # pop3 protocol over TLS/SSL (was spop3)
pop3s           995/udp                 # pop3 protocol over TLS/SSL (was spop3)

2

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Skąd masz fetchmaila ze wsparciem ssl? Potrzebuję taką paczuszkę dla backfire.

3

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

z kompilatora mam big_smile

4

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

patryk napisał/a:

z kompilatora mam big_smile

A dla backfire może? Pożyczysz?

5

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

dla kirkwooda - sorry
pogadaj z Cezarym wink

6

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Cezary, czytasz nas? Mogę prosić przy najbliższym upgrade backfire o taką paczkę? Widziałem, że w trunku openwrt jest już podział na paczkę z openssl i bez.

7

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

narazie możesz zrobić tak: gmail ma przekazywanie poczty. ustaw mu wysyłanie kopii wiadomości na jakies konto bez ssl i tamto konto monitoruj

8

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Mogę skompilować.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Świetnie. Z góry dziękuję.

10

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Jest na http://ecco.selfip.net/backfire/packages/

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Dzięki, właśnie toczę boje z imapem googla smile

12 (edytowany przez zigi 2011-02-11 22:30:10)

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

To ja też mogę się pochwalić "moimi" ustawieniami pozwalającymi powiadamiać się o nowej poczcie.
1. .fetchmailrc

set daemon 60
poll imap.gmail.com protocol IMAP port 993
     user "user@gmail.com" password "password"
     nofetchall keep ssl
     
mda "/usr/bin/procmail -d %T"

2. .procmailrc

MAILDIR=/root/pen/poczta
LOGFILE=/root/.procmaillog
LOGABSTRACT=no
#VERBOSE=on ##tryb gadatliwy
VERBOSE=off

#tutaj pozyskujemy dane do wstawienia w sms
NEW_SUBJECT=`formail -xSubject`
SMS_MAILADDR=`formail -xReturn-Path`

#tylko powiadomienie, nie zapisuje się poczta (?)
:0
| vodasms ja -m "Nowa poczta od: $SMS_MAILADDR Temat: $NEW_SUBJECT"

13

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Można też wysyłać treść maila. Do tego celu przydatny może być skrypt "mimecut2"[1]. Przykład użycia można znaleźć w pliku procmailrc w katalogu contrib źródeł programu sms.

[1]. http://ceti.pl/~miki/old/komputery/download/sms/

14

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Kombinatorzy smile. A plugin do ff wam nie wystarczy? Applet w gnome? Ikonki w androidzie?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

mi wystarczy dzwonek w Thunderbirdzie. ale gdzie zabawa? big_smile

16

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Otóż to!

17

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

patryk napisał/a:

plik '/root/.fetchmailrc' (chmod 600. więcej spowoduje błąd)

ma być 700

root@arduino:/# fetchmail -k -d 60
fetchmail: WARNING: Running as root is discouraged.
File /root/.fetchmailrc must have no more than -rwx------ (0700) permissions.
Pozdrawiam, Artur
http://digi-led.pl/blog - Blog

18

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Ma być

no more than -rwx------ (0700)

więc samo rw lub r też jest ok.

19

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

myślę,ze tak.
błąd wyskoczy, jak ktoś oprucz właściciela bedzie miał uprawnienia do pliku

20

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

co trzeba dodać do filtra w procmail aby zapisał plik wiadomości w postaci "od kogo.* a nie w postaci "msg.*"

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

21

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

wabikboy napisał/a:

co trzeba dodać do filtra w procmail aby zapisał plik wiadomości w postaci "od kogo.* a nie w postaci "msg.*"

żeby spotokować  kopie maila na sktrypt dodajesz coś takiego do procmailrc:

:0c:
*
| /skrypty/new-mail.sh

i jak masz taki filtr, to już tylko musisz przeczytać stdin, wyciągnąć z niego pole From: i tyle.
przerób sobie mój skrypt, który robi mniej wiecej właśnie to

#!/bin/bash
cat - > /tmp/mail.stdin
mail_from=`cat /tmp/mail.stdin | grep "From: "`
mail_subject=`cat /tmp/mail.stdin | grep "Subject: "`
a=`cat /tmp/mail.stdin | grep "X-Priority:"`
b=${a//*: /}
c=${b// (*/}
let mail_priority=$c+0

if [ $mail_priority -eq 0 ]; then
    tosay="new mail recieved $mail_from"
else
    tosay="new priority $mail_priority mail recieved $mail_from"
fi

echo $tosay,. $mail_subject | espeak
rm /tmp/mail.stdin

po prostu sobie w skrypcie zamienisz 'rm /tmp/mail.stdin' na mv....
a jak nie chcesz zeby ci orginalny plik msg.XXXXX zoastawał w katalogu, to w filtrze procmaila zmieniasz ':0c:' na ':0' wink

22

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Jak wkleiłem w/w skrypt to wrzuca mi dalej w takiej samej formie plik jak bez tego jedynie wkleja mi tylko plik mail.stdin

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

23

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

no jak "wkleiłeś", to nie masz się co dziwić. miałeś przerobić.
i doczytaj ostatnią linijke w poście ;>

wkleić sobie możesz to (PO ZMINIE KATALOGU Z POCZTĄ) w skrypcie:

#!/bin/bash
mail_dir='/katalog/z/pocztą'
cat - > /tmp/mail.stdin
mail_from=`cat /tmp/mail.stdin | grep "From: "`
time=`date +%s`
new_file="$mail_dir/${mail_from//From: /} [$time].txt"
mv /tmp/mail.stdin "$new_file"

bedzie ci tworzyło kliki typu '/katalog/z/pocztą/kuba <kuba.jakiśtam@gmail.com> [1327321580].txt'
moze byc? ;>

24 (edytowany przez wabikboy 2012-01-23 14:05:36)

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

ok o to mi chodziło smile dzieki, teraz sobie to przerobie jak chcem, nie wiedzialem tylko  ze mail_dir= musze ustawic bo myslalem ze bierze z procmaila ale ok.  Tylko jeszcze powiedz bo w tych plikach mam bałagan w sensie takim iż jest tam pełno zbednych informacji i szukałem jak to przefiltrować aby zostało tylko: Od kogo; Temat; Treść , i z polskimi znakami bo w treści mam karzki ale jak widac nie znalazłem hmm

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

25

Odp: [HOWTO] powiadomienia o nowej poczcie - wersja prymitywna ;)

Czy do czyszczenia pliku ze śmieci używać mutt'a czy skryptu który wyciągnie mi potrzebną treść ??

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile