IMAP i konta pocztowe POP3
14 July 2008
Comments
PHP oferuje dostęp do kont pocztowych poprzez protokół IMAP. Dzięki niemu możemy np. zalogować się na nasze konto pocztowe dostępne poprzez POP3. Obsługa protokołu IMAP jest bardzo prosta, a listę wszystkich funkcji wraz z opisami i przykładami znajdziemy w dokumentacji na php.net.Podstawową kwestią jest dostęp do funkcji IMAP. Niektóre serwery (np. darmowe) mogą nie mieć takiej opcji. Warto więc w skryptach sprawdzać czy funkcja istnieje, np.:
IF(!function_exists('imap_open')) { die('BRAK funkcji IMAP'); }
<?php
IF($mbox = imap_open("{NAZWA_SERWERA:110/pop3}INBOX", 'LOGIN', 'HASŁO'))
{
echo 'Połączenie nawiązane';
imap_close($mbox);
}
else
{
print_r(imap_errors());
}
By wylistować listę emaili możemy skorzystać z funkcji imap_headers($strumień), która to zwraca tablicę... Przed imap_close w powyższym przykładzie wstaw:
print_r(imap_headers($mbox));
Przykłady
Pobieranie listy wiadomości:<?php
echo '<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" /><pre>';
IF($mbox = imap_open("{NAZWA_SERWERA:110/pop3}INBOX", 'LOGIN', 'HASŁO'))
{
echo 'Połączenie nawiązane';
$check = imap_mailboxmsginfo($mbox);
IF(is_numeric($check->Nmsgs))
{
for($i = 1; $i <= $check->Nmsgs; $i++)
{
print_r(imap_fetch_overview($mbox, $i, 0));
}
}
imap_close($mbox);
}
else
{
print_r(imap_errors());
}
?>
Wyświetlenie treści pierwszej wiadomości:
<?php
echo '<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" /><pre>';
IF($mbox = imap_open("{NAZWA_SERWERA:110/pop3}INBOX", 'LOGIN', 'HASŁO'))
{
highlight_string(imap_body($mbox, 1));
imap_close($mbox);
}
else
{
print_r(imap_errors());
}
?>
RkBlog
Comment article