imap_php

październik 30th, 2007

Postanowiłem sobie, że mechanizm usuwania kont pocztowych będzie wykorzystywał biblioteki imap_php ponieważ panel do zarządzania systemem hostingowym (Ad-Net) także napisany jest w PHP. Może kiedyś komuś potrzebne będzie usuwanie katalogów oraz wiadomości.

Kawałek kodu

function adnet_imap_delete_account($imap_username, $imap_passwd, $imap_server = "imap.eqax.pl" ) {
//
$server_string = "{".$imap_server.":993/imap/ssl/novalidate-cert}INBOX";
$imap_mbox = imap_open($server_string, $imap_username, $imap_passwd);
if ($imap_mbox) {
$mail_list = imap_listmailbox($imap_mbox, $server_string, "*");
sort($mail_list);
foreach($mail_list as $k=>$v) {
$new_conn = imap_open($v, $imap_username, $imap_passwd);
if (new_$conn) {
imap_delete($new_conn,'1:*');
imap_expunge($new_conn);
imap_close($new_conn);
}
}
imap_delete($imap_mbox,'1:*');
imap_expunge($imap_mbox);
imap_deletemailbox($imap_mbox, $v);
imap_close($imap_mbox);
}
}

Można pokusić się o modyfikację aby funkcja korzystała z rekurencji, ale to już dopisanie kilku linijek :)

Leave a Reply