收邮件

[php] /* *收邮件方法2 */ public function receives(){ vendor('PHPMailer.imap');//导入收邮件类 $mailInfo=M("EmailInfo"); $maillist=M('EmailMaillist');//收邮件列表 //$data=$maillist->create(); //$where['uid']=$this->mid; $where['uid']=23; $userinfo=$mailInfo->where($where)->find(); $username = $userinfo['user_name']; $password = $userinfo['user_login_psw']; $EmailAddress = $userinfo['user_login_mail']; $mailserver = $userinfo['pop3'];//收邮件服务器 $servertype = $userinfo['servertype'];//收件类型 pop3 ,imap[默认] $port = $userinfo['pop3_port']; //dump($userinfo); //dump($EmailAddress); $mail = new imap($username,$password,$EmailAddress,$mailserver,$servertype,$port,false); $mail->open(); $mailnum= $mail->getMailList(); for($i=1;$i<=$mailnum;$i++){ $mailHeader = $mail->head($i); //echo "<pre>";print_r($mailHeader);echo "</pre>"; //echo "<br>"; $msgno = $mailHeader['id']; $size = $mailHeader['size']; $messageID = $mailHeader['message_id']; $udate = $mailHeader['udate']; $subject = addslashes($mailHeader['subject']); $charset = $mailHeader['charset']; $sendmail = $mailHeader['from']; $senduser = addslashes($mailHeader['frompersonal']); if($senduser==''){ $senduser = $sendmail; } $fromcharset = $mailHeader['fromcharset']; if($fromcharset=="default"){ $fromcharset = "gb2312"; } if($charset=="default"){ $charset = "gb2312"; } //$csql = "select * from maillist where msessage_id='".$messageID."' and sendtime='".$udate."'"; $condition['msessage_id']=$messageID; $condition['sendtime']=$udate; $csql=$maillist->where($condition)->count(); if($csql==0){ $subject = iconv($charset,"utf-8",$subject); $senduser = iconv($fromcharset,"utf-8",$senduser); $data['title']=$subject; $data['senduser']=$senduser; $data['sendmail']=$sendmail; $data['sendtime']=$udate; $data['msessage_id']=$messageID; $data['msgno']=$msgno; $data['accept_email']=$EmailAddress; $data['uid']=23; $maillist->add($data);//增加 //echo $maillist->getLastSql(); //echo $subject."<br>".$senduser."<br>".$messageID."<br>".$msgno."<br>".$EmailAdress."<br>"; } /*else{ // 更新msgno字段 $wheresave['msessage_id']=$messageID; $wheresave['sendtime']=$udate; $wheresave['uid']=23;// 后面增加的条件用户id为23的 $datas['msgno']=$msgno; $maillist->where($wheresave)->save($datas); }*/ } echo $maillist->getLastSql(); $mail->close(); //echo "接受完毕"; } [/php]

你可能感兴趣的:(邮件)