<?php
@header('Content-type: text/html;charset=UTF-8');
ignore_user_abort(); // run script in background
set_time_limit(0); // run script forever
?>
<?php
require '../../common.inc.php';
include("receivemail.class.php");
$fileSavePaht = DT_ROOT . '/api/pop/emailsave/';
$obj = new receiveMail('1469564725', 'hhfz.com', '1469564725.com', 'imap.qq.com', 'imap', '993', false);
$obj->connect();
$tot = $obj->getTotalMails(); //Total Mails in Inbox Return integer value
echo "Total Mails:: $tot<br>";
for ($i = $tot; $i > 0; $i--) {
$head = $obj->getHeaders($i); // Get Header Info Return Array Of Headers **Array Keys are (subject,to,toOth,toNameOth,from,fromName)
echo "Subjects :: " . $head['subject'] . "<br>";
echo "TO :: " . $head['to'] . "<br>";
echo "To Other :: " . $head['toOth'] . "<br>";
echo "ToName Other :: " . $head['toNameOth'] . "<br>";
echo "From :: " . $head['from'] . "<br>";
echo "FromName :: " . $head['fromName'] . "<br>";
echo "<br><br>";
echo "<br>*******************************************************************************************<BR>";
echo $obj->getBody($i); // Get Body Of Mail number Return String Get Mail id in interger
print_r("附件下载区");
print_r("<br />");
$str = $obj->GetAttach($i, $fileSavePaht); // Get attached File from Mail Return name of file in comma separated string args. (mailid, Path to store file)
$ar = explode(",", $str);
foreach ($ar as $key => $value)
echo ($value == "") ? "" : "Atteched File :: " . $value . "<br>";
echo "<br>------------------------------------------------------------------------------------------<BR>";
$obj->removeEamil($i); // Delete Mail from Mail box
}
$obj->close_mailbox(); //Close Mail Box
?>
使用了receivemail.class,其中的下载附件方法已被修改(注意信件的结构信息,qq邮箱的信件结构与原生代码不一致)
<?php
class receiveMail {
var $server = '';
var $username = '';
var $password = '';
var $marubox = '';
var $email = '';
var $backUp = '{imap.qq.com}&UXZO1mWHTvZZOQ-/beifen';
function receiveMail($username, $password, $EmailAddress, $mailserver = 'localhost', $servertype = 'pop', $port = '110', $ssl = false) { //Constructure
if ($servertype == 'imap') {
if ($port == '')
$port = '143';
$strConnect = '{' . $mailserver . ':' . $port . '/imap/ssl}INBOX';
}
else {
$strConnect = '{' . $mailserver . ':' . $port . '/pop3' . ($ssl ? "/ssl" : "") . '}INBOX';
}
$this->server = $strConnect;
$this->username = $username;
$this->password = $password;
$this->email = $EmailAddress;
}
function connect() {
$this->marubox = @imap_open(