Changeset 613 for trunk/expressoMail1_2/inc/class.imap_functions.inc.php
- Timestamp:
- 01/15/09 10:58:13 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r605 r613 162 162 } 163 163 164 /* 165 Remove os anexos de uma mensagem. A estratégia para isso é criar uma mensagem nova sem os anexos, mantendo apenas 166 a primeira parte do e-mail, que é o texto, sem anexos. 167 O método considera que o email é multpart. 168 */ 169 function remove_attachments($params) { 170 include_once("class.message_components.inc.php"); 171 if(!$this->mbox || !is_resource($this->mbox)) 172 $this->mbox = $this->open_mbox($params["folder"]); 173 $return["status"] = true; 174 $return["msg_num"] = $params["msg_num"]; 175 $header = ""; 176 177 $headertemp = explode("\n",imap_fetchheader($this->mbox, imap_msgno($this->mbox, $params["msg_num"]))); 178 foreach($headertemp as $head) {//Se eu colocar todo o header do email dá pau no append, então procuro apenas o que interessa. 179 $head1 = explode(":",$head); 180 if ( (strtoupper($head1[0]) == strtoupper("to")) || 181 (strtoupper($head1[0]) == strtoupper("from")) || 182 (strtoupper($head1[0]) == strtoupper("subject")) || 183 (strtoupper($head1[0]) == strtoupper("date")) ) 184 $header .= $head."\r\n"; 185 } 186 187 $msg = &new message_components($this->mbox); 188 $msg->fetch_structure($params["msg_num"]);/* O fetchbody tava trazendo o email com problemas na acentuação. 189 Então uso essa classe para verificar a codificação e o charset, 190 para que o método decodeBody do expresso possa trazer tudo certinho*/ 191 192 $status = @imap_append($this->mbox, 193 "{".$this->imap_server.":".$this->imap_port.$this->imap_options."}".$params["folder"], 194 $header. 195 "\r\n". 196 str_replace("\n","\r\n",$this->decodeBody( 197 imap_fetchbody($this->mbox,imap_msgno($this->mbox, $params["msg_num"]),"1"), 198 $msg->encoding[$params["msg_num"]][0], $msg->charset[$params["msg_num"]][0] 199 ) 200 )); //Append do novo email, só com header e conteúdo sem anexos. 201 202 if(!$status) { 203 $return["status"] = false; 204 $return["msg"] = lang("error appending mail on delete attachments"); 205 } 206 207 @imap_delete($this->mbox, imap_msgno($this->mbox, $params["msg_num"])); //Insere o novo e-mail sem anexos. 208 @imap_expunge($this->mbox); //Deleta o e-mail com anexos 209 210 return $return; 211 212 } 213 164 214 function get_info_msg($params) 165 215 {
Note: See TracChangeset
for help on using the changeset viewer.