]> git.mxchange.org Git - friendica.git/blobdiff - include/email.php
log the D* publc messages
[friendica.git] / include / email.php
index db10af2ee620ec9c8357b03e22a31b61727ae932..a36d9adab954da68e8c15e1aa6b152693de87ce6 100644 (file)
@@ -4,7 +4,7 @@ function email_connect($mailbox,$username,$password) {
        if(! function_exists('imap_open'))
                return false;
 
-       $mbox = imap_open($mailbox,$username,$password);
+       $mbox = @imap_open($mailbox,$username,$password);
 
        return $mbox;
 }
@@ -12,10 +12,27 @@ function email_connect($mailbox,$username,$password) {
 function email_poll($mbox,$email_addr) {
 
        if(! ($mbox && $email_addr))
-               return array();;
+               return array();
 
-       $search = imap_search($mbox,'FROM "' . $email_addr . '"', SE_UID);
-       return (($search) ? $search : array());
+       $search1 = @imap_search($mbox,'FROM "' . $email_addr . '"', SE_UID);
+       if(! $search1)
+               $search1 = array();
+
+       $search2 = @imap_search($mbox,'TO "' . $email_addr . '"', SE_UID);
+       if(! $search2)
+               $search2 = array();
+
+       $search3 = @imap_search($mbox,'CC "' . $email_addr . '"', SE_UID);
+       if(! $search3)
+               $search3 = array();
+
+       $search4 = @imap_search($mbox,'BCC "' . $email_addr . '"', SE_UID);
+       if(! $search4)
+               $search4 = array();
+
+       $res = array_unique(array_merge($search1,$search2,$search3,$search4));
+
+       return $res;
 }
 
 
@@ -28,12 +45,12 @@ function construct_mailbox_name($mailacct) {
 
 
 function email_msg_meta($mbox,$uid) {
-       $ret = (($mbox && $uid) ? imap_fetch_overview($mbox,$uid,FT_UID) : array(array()));
+       $ret = (($mbox && $uid) ? @imap_fetch_overview($mbox,$uid,FT_UID) : array(array()));
        return ((count($ret)) ? $ret[0] : array());
 }
 
 function email_msg_headers($mbox,$uid) {
-       $raw_header = (($mbox && $uid) ? imap_fetchheader($mbox,$uid,FT_UID) : '');
+       $raw_header = (($mbox && $uid) ? @imap_fetchheader($mbox,$uid,FT_UID) : '');
        $raw_header = str_replace("\r",'',$raw_header);
        $ret = array();
        $h = split("\n",$raw_header);
@@ -57,7 +74,7 @@ function email_msg_headers($mbox,$uid) {
 function email_get_msg($mbox,$uid) {
        $ret = array();
 
-       $struc = (($mbox && $uid) ? imap_fetchstructure($mbox,$uid,FT_UID) : null);
+       $struc = (($mbox && $uid) ? @imap_fetchstructure($mbox,$uid,FT_UID) : null);
 
        if(! $struc)
                return $ret;
@@ -86,8 +103,8 @@ function email_get_part($mbox,$uid,$p,$partno) {
 
     // DECODE DATA
     $data = ($partno)
-               ? imap_fetchbody($mbox,$uid,$partno, FT_UID|FT_PEEK)
-        : imap_body($mbox,$uid,FT_UID|FT_PEEK);
+               ? @imap_fetchbody($mbox,$uid,$partno, FT_UID|FT_PEEK)
+        : @imap_body($mbox,$uid,FT_UID|FT_PEEK);
 
     // Any part may be encoded, even plain text messages, so check everything.
     if ($p->encoding==4)