diff options
author | Friendika <info@friendika.com> | 2011-04-15 23:40:43 -0700 |
---|---|---|
committer | Friendika <info@friendika.com> | 2011-04-15 23:40:43 -0700 |
commit | 27cbb830a7bd72f13181acc5999a6bed4f74f5ae (patch) | |
tree | 36012bdb41c1972ac1c274e3594fa72cc8520781 /include/imap.php | |
parent | 158b65894a086b36e383c2a41e494eb1d45fdb4a (diff) | |
download | volse-hubzilla-27cbb830a7bd72f13181acc5999a6bed4f74f5ae.tar.gz volse-hubzilla-27cbb830a7bd72f13181acc5999a6bed4f74f5ae.tar.bz2 volse-hubzilla-27cbb830a7bd72f13181acc5999a6bed4f74f5ae.zip |
more work on email contacts
Diffstat (limited to 'include/imap.php')
-rw-r--r-- | include/imap.php | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/include/imap.php b/include/imap.php deleted file mode 100644 index 018727639..000000000 --- a/include/imap.php +++ /dev/null @@ -1,107 +0,0 @@ -<?php - - -function f9_imap_connect($mailbox,$username,$password) { - - if(! (local_user() && function_exists('imap_open'))) - return false; - - $mbox = imap_open($mailbox,$username,$password); - - return $mbox; - -} - - -function f9_imap_poll_from($mbox,$str) { - - if(! ($mbox && $str)) - return false; - - $search = imap_search($mbox,'FROM "' . $str . '"', SE_UID); - - return $search; -} - - -function getmsg($mbox,$mid) { - // input $mbox = IMAP stream, $mid = message id - // output all the following: - global $charset,$htmlmsg,$plainmsg,$attachments; - $htmlmsg = $plainmsg = $charset = ''; - $attachments = array(); - - // HEADER - $h = imap_header($mbox,$mid); - // add code here to get date, from, to, cc, subject... - - // BODY - $s = imap_fetchstructure($mbox,$mid); - if (!$s->parts) // simple - getpart($mbox,$mid,$s,0); // pass 0 as part-number - else { // multipart: cycle through each part - foreach ($s->parts as $partno0=>$p) - getpart($mbox,$mid,$p,$partno0+1); - } -} - -function getpart($mbox,$mid,$p,$partno) { - // $partno = '1', '2', '2.1', '2.1.3', etc for multipart, 0 if simple - global $htmlmsg,$plainmsg,$charset,$attachments; - - // DECODE DATA - $data = ($partno)? - imap_fetchbody($mbox,$mid,$partno): // multipart - imap_body($mbox,$mid); // simple - // Any part may be encoded, even plain text messages, so check everything. - if ($p->encoding==4) - $data = quoted_printable_decode($data); - elseif ($p->encoding==3) - $data = base64_decode($data); - - // PARAMETERS - // get all parameters, like charset, filenames of attachments, etc. - $params = array(); - if ($p->parameters) - foreach ($p->parameters as $x) - $params[strtolower($x->attribute)] = $x->value; - if ($p->dparameters) - foreach ($p->dparameters as $x) - $params[strtolower($x->attribute)] = $x->value; - - // ATTACHMENT - // Any part with a filename is an attachment, - // so an attached text file (type 0) is not mistaken as the message. - if ($params['filename'] || $params['name']) { - // filename may be given as 'Filename' or 'Name' or both - $filename = ($params['filename'])? $params['filename'] : $params['name']; - // filename may be encoded, so see imap_mime_header_decode() - $attachments[$filename] = $data; // this is a problem if two files have same name - } - - // TEXT - if ($p->type==0 && $data) { - // Messages may be split in different parts because of inline attachments, - // so append parts together with blank row. - if (strtolower($p->subtype)=='plain') - $plainmsg. = trim($data) ."\n\n"; - else - $htmlmsg. = $data ."<br><br>"; - $charset = $params['charset']; // assume all parts are same charset - } - - // EMBEDDED MESSAGE - // Many bounce notifications embed the original message as type 2, - // but AOL uses type 1 (multipart), which is not handled here. - // There are no PHP functions to parse embedded messages, - // so this just appends the raw source to the main message. - elseif ($p->type==2 && $data) { - $plainmsg. = $data."\n\n"; - } - - // SUBPART RECURSION - if ($p->parts) { - foreach ($p->parts as $partno0=>$p2) - getpart($mbox,$mid,$p2,$partno.'.'.($partno0+1)); // 1.2, 1.2.1, etc. - } -}
\ No newline at end of file |