设为首页 收藏本站
查看: 877|回复: 0

[经验分享] PHP遍历邮箱获取邮件内容

[复制链接]

尚未签到

发表于 2018-12-22 06:54:07 | 显示全部楼层 |阅读模式
$emails = array(
    array('account' => 'haodai1688@163.com', 'pwd' => '*', 'server' => 'imap.163.com'),
    array('account' => 'haodaiwan@163.com', 'pwd' => '*', 'server' => 'imap.163.com'),
    array('account' => 'asmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'bsmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'csmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'dsmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'esmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'fsmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'jsmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'hsmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'ismschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'ksmschina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'sms_test@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'smstestchina@yeah.net', 'pwd' => '*', 'server' => 'imap.yeah.net'),
    array('account' => 'vesxza@163.com', 'pwd' => '*', 'server' => 'imap.163.com'),
    array('account' => 'mm663305@163.com', 'pwd' => '*', 'server' => 'imap.163.com'),
    array('account' => '14828@163.com', 'pwd' => '*', 'server' => 'imap.163.com'),
    array('account' => '15850060264@163.com', 'pwd' => '*', 'server' => 'imap.163.com')
);
//读取发件箱的所有邮件
foreach ($emails as $key => $value) {
    $imap_stream = imap_open('{' . $value['server'] . ':993/imap/ssl}&XfJT0ZAB-', $value['account'], $value['pwd']);
    $msg_num = imap_num_msg($imap_stream);  //已发送的邮件的数量   
    while ($msg_num > 0) {
        $data = array();
        $headers = imap_headerinfo($imap_stream, $msg_num);
        /* 邮件主题内容 */
        $subject = imap_mime_header_decode($headers->subject);
        $data['subject_text'] = mysql_real_escape_string($subject[0]->text);
        /* 发件人的地址 */
        $data['fromaddress'] = mysql_real_escape_string($headers->fromaddress);
        /* 收件人的地址 */
        $data['toaddress'] = mysql_real_escape_string($headers->toaddress);
        /* 发送邮件的时间 */
        $data['totime'] = date('Y-m-d H:i:s', strtotime($headers->MailDate));
        /* 邮件正文的内容,todo:需要完善编码判断,以及附件的读取判断 */
        $data['msg'] = mysql_real_escape_string(base64_decode(imap_fetchbody($imap_stream, $msg_num, 1)));
        /* 邮件的header头内容 */
        $data['header'] = mysql_real_escape_string(imap_fetchbody($imap_stream, 1, 0));
        /* 邮件的body区域的内容 */
        $data['body'] = mysql_real_escape_string(imap_body($imap_stream, $msg_num));
        /* 提取电话号码 */
        if (preg_match_all('/\d{4,}/', $data['subject_text'], $matches, PREG_PATTERN_ORDER)) {
            $data['phone'] = implode(',', $matches[0]);
        } else {
            preg_match_all('/\d{4,}/', $data['msg'], $matches, PREG_PATTERN_ORDER);
            $data['phone'] = implode(',', $matches[0]);
        }
        $msg_num--;
        addContent($data);
    }
    imap_close($imap_stream);
    echo $value['account'] . '---完成', PHP_EOL;
}
//写入数据到mysql的过程
function addContent($data) {
    static $mysql_conn = '';
    if (!is_resource($mysql_conn)) {
        $mysql_conn = mysql_connect('127.0.0.1', 'root', 'root');
        mysql_select_db("remail", $mysql_conn);
        mysql_query('SET NAMES UTF8');
    }
    $sql = 'INSERT INTO mail_detail(subject,from_address,to_address,to_time,msg,header,body,phone) values (\'' . $data['subject_text'] . '\',\'' .
            $data['fromaddress'] . '\',\'' . $data['toaddress'] . '\',\'' . $data['totime'] . '\',\'' . $data['msg'] . '\',\'' .
            $data['header'] . '\',\'' . $data['body'] . '\',\'' . $data['phone'] . '\');';
    mysql_query($sql);
}  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654157-1-1.html 上篇帖子: PHP小代码——读取mysql所有数据库及表中字段 下篇帖子: PHP 发送邮件模块 PHPMailer
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表