PHP 用 POP3 协议监视邮箱


打算为项目做通过手机发送彩信到邮箱上传相片,更新时间线功能,想到一个使用 POP3 协议定时检查有邮箱来解决的思路.

现在的手机都是支持直接发送彩信到邮箱的,彩信的文本和附件会全部作为邮件附件寄送到指定邮箱里,这种更新方式倒是省了申请 SP 了. :D

<?php

require_once('class_pop3.php');

header('Content-Type: text/plain; charset=utf-8');

$popmail = new POP3('pop.gmail.com', 995, true); // POP3 服务器地址, 端口, 是否使用 SSL.
$popmail->SetFallbackCharset('gbk'); // 对于无法检测编码的邮件采用的默认编码
$popmail->Authorize('youmailbox@gmail.com', 'password'); // POP3 登录用户名与密码
$popmail->ListSize(); // 获取邮件列表

$mailcount = sizeof($popmail->results); // 计算邮件数量

echo "Mail Count: $mailcount \n\n";

for ($i = 1; $i <= $mailcount; $i++)
{
$popmail->Retr($i); // 获取邮件数据
$result = $popmail->results; // 储存未处理的邮件数据
$result_parsed = $popmail->Parse($results); // 解析邮件数据

print_r($result_parsed);
}

$popmail->Uidl();
$popmail->Dele(); // 删除已读信息
$popmail->Quit();

?>

class_pop3.php

class_pop3.php 取自 TextCube 1.7.2 的 POP3 组件.

修改了邮件转码部分如果 mb_convert_encoding 则优先使用 mb_convert_encoding 函数转码,将变量名按项目的命名规则改了一次. :)


Powered by Textcube