Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Maile - jak do tego podejsc?
Forum PHP.pl > Forum > PHP
Dagger
Witam!

Mam takie zagadnienie:
- od klienta dostaje maila (zawsze od tego samego, ten sam adres),
- mail jest zawsze w tym samym formacie czyli np.:
zamowienie: Usluga1
numer zlecenia: 1234
adres odbiorcy: adres@adres.pl
I teraz... chcial bym napisac skrypt, ktory:
1. co 5 minut bedzie sprawdzal X skrzynke pocztowa (za pomoca cron'a bede inicjowal np. sprawdz.php) (to wiem ja zrobic),
2. skrypcik bedzie sprawdzal czy przyszedl nowy mail od klienta (czyli czy jest nowy mail od nadawcy X) (i/lub o okreslonym tytule maila),
3. jesli bedzie nowy mail to: nastepuje pobranie tresci maila (lub kliku mailu - bo w czasie 5 minut moglo by przyjsc kilka maili od tego samego nadawcy) do X zmiennej, a np. tytul maila do Y zmiennej,
4. nastepnie za pomoca funkcji explode pobieral by odpowiednie dane do bazy i uruchamial np. inny skrypt wysylajacy potwierdzenie otrzymania maili.

Nie wiem jak zrealizowac 2 i 3 punkt. Jak do tego podejsc? Moze sa gotowe skrypty na bazie ktorych mozna by zrobic takie rozwiazanie?
Z gory dzieki za pomoc.
talee
tu masz wszystko -> http://www.php.net/manual/en/ref.imap.php
Dagger
Hmmm no tak manual...
No to jeszcze jakis skrypcik o takim dzialaniu i bede w 7 niebie ;-) (poprostu jak widze cos w dzialaniu to juz prosciej jest przerobic gotowca ;-) )
Ozzy
ściągnij jakiegokolwiek klienta imap i sobie podpatrzysz.
dooshek
Cytat


Z imapem to nie prosta sprawa niestety - szczegolnie jak nie ma serwera imapa postawionego. Proponuje sposob z procmailem. Wpisujesz sobie pare linijek do pliku .procmailrc w homie konta na ktore ma przychodzic ten email. Wyglada to <> tak:

Kod
LOGFILE=procmail.log



#najpierw kopia listu do foldera...



: 0 c

* ^Subject:.*ID#.*

Zamowienia



# Teraz leci to przez skrypt potwierdzenie.php z podkatalogu bin/

: 0

* ^Subject:.*ID#.*

|bin/potwierdzenie.php


Wszystko co przychodzi i co sie dzieje, jest logowane do procmail.log - tutaj jest jeszcze dodatkowo sprawdzanie czy w polu Subject wystepuje fraza ID# - po tym rozpoznaje, ze przychodzi zamowienie.

A w php to juz proste

[php:1:e695021a6f]
<?
$email = join('', file ("/dev/stdin"));
?>
[/php:1:e695021a6f]

w zmiennej $email masz cale zrodlo otrzymanego maila - co z nim zrobisz - Twoja sprawa smile.gif
Ozzy
Cytat
Z imapem to nie prosta sprawa niestety

Imho nie jest tak źle. Nie potrzeba serwera imap, wystarczy pop3.
dooshek
Cytat
Cytat

Z imapem to nie prosta sprawa niestety

Imho nie jest tak źle. Nie potrzeba serwera imap, wystarczy pop3.


No tak, ale pomysl jest troszke nie za fajny - bo po co sprawdzac np. co minute poczte skoro mozna wywolywac skrypt jak poczta przyjdzie dopiero na to konto?
Yacho
generalnie mozna nawet otwierac plik spoola jako zwykly plik tekstowy - eksplodowac dane z niego i wrzucac do bazy jak trzeba juz za pomoca php - kwestia jest tylko w ustawieniu odpowiednich uprawnien - w przypadku poczty ustawianie uprawnien na pliki jest szczegolnie upiardliwe....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.