好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

关于phpforimap的信息

很多站长朋友们都不太清楚phpforimap,今天小编就来给大家整理phpforimap,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 如何扩展PHP的IMAP模块 2、 如何用PHP里的IMAP函数,实现邮件的发送,希 3、 php IMAP读取邮件信息 如何扩展PHP的IMAP模块

如果对php进行模块扩展,重新编译PHP,这个过程比较痛苦,我的方法都是采用编译模块为*.so的方式,简单,方便,不用去其他地方找模块源码包,php源码自带了。

1、进入安装目录

cd /path/ext/imap

/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config

就是到这步报错了,如果你碰到这样的错误:

This c-client library is built with Kerberos support.

Add --with-kerberos to your configure line. Check config.log for details

utf8_mime2text() has new signature

以上2个错误都是由于缺少 libc-client-* 软件包引起,由于我是Centos系统,就直接yum升级吧

yum -y install libc-client-*

安装完毕后,再次编译,

./configure --with-php-config=/usr/local/webserver/php/bin/php-config

这次的错误不一样,如下:

configure: error: Kerberos libraries not found.

Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr )

既然提示少参数,就加上该参数吧,

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-kerberos=/usr

注意:这里有3个路径可以选择,于是就一个一个试一下,很幸运的是前面2个都不能编译通过,只有 --with-kerberos=/usr 可以,但是还是有报错,如下:

This c-client library is built with SSL support

看来离希望越来越近了,于是就加上 --with-imap-ssl=/usr 参数,终于编译通过了,真不容易。

最后完整的编译 imap 模块参数如下:

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-kerberos=/usr --with-imap-ssl=/usr

make

make install

如何用PHP里的IMAP函数,实现邮件的发送,希

//以腾讯企业邮箱做了测试

$mailServer="imap.exmail.qq.com"; //IMAP主机

$mailLink="{{$mailServer}:143}INBOX" ; //imagp连接地址:不同主机地址不同

$mailUser = '***'; //邮箱用户名

$mailPass = '***'; //邮箱密码

$mbox = imap_open($mailLink,$mailUser,$mailPass); //开启信箱imap_open

$totalrows = imap_num_msg($mbox); //取得信件数

for ($i=1;$i<$totalrows;$i++){

  $headers = imap_fetchheader($mbox, $i); //获取信件标头

  $headArr = matchMailHead($headers); //匹配信件标头

  $mailBody = imap_fetchbody($mbox, $i, 1); //获取信件正文

}

/**

 *

 * 匹配提取信件头部信息

 * @param String $str

 */

function matchMailHead($str){

  $headList = array();

  $headArr = array(

    'from',

    'to',

    'date',

    'subject'

  );

  foreach ($headArr as $key){

    if(preg_match('/'.$key.':(.*?)[\n\r]/is', $str,$m)){

      $match = trim($m[1]);

      $headList[$key] = $key=='date'?date('Y-m-d H:i:s',strtotime($match)):$match;

    }

  }

  return $headList;

}

php IMAP读取邮件信息

<?php

$mbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", "xxxx@gmail.com", "xxxx") or die("can't connect: " . imap_last_error());

$emails = imap_search($mbox,'ALL');

ini_set("max_execution_time",300);

if($emails) {

rsort($emails);

foreach($emails as $email_number) {

$overview = imap_fetch_overview($mbox,$email_number,0);

$pos = explode('@',$overview[0]->from);

$phone = substr($pos[0],-11); // 发件人手机号码

$struct = imap_fetchstructure($mbox, $email_number);

print_r($struct);

$parts = $struct->parts;

$i = 0;

if (!$parts) { /* Simple message, only 1 piece */

$attachment = array(); /* No attachments */

$content = imap_body($mbox, $email_number);

} else { /* Complicated message, multiple parts */

$endwhile = false; $stack = array(); /* Stack while parsing message */

$content = ""; /* Content of message */

$attachment = array(); /* Attachments */ while (!$endwhile) {

if (!$parts[$i]) {

if (count($stack) > 0) {

$parts = $stack[count($stack)-1]["p"];

$i = $stack[count($stack)-1]["i"] + 1;

array_pop($stack);

} else {

$endwhile = true;

}

}

if (!$endwhile) {

/* Create message part first (example '1.2.3') */

$partstring = "";

foreach ($stack as $s) {

$partstring .= ($s["i"]+1) . ".";

}

$partstring .= ($i+1);

$file_data = imap_fetchbody($mbox, $email_number, $partstring);

$attachment[] = array("filename" =>$parts[$i]->parameters[0]->value,

"filedata" => $file_data

);

if($parts[$i]->subtype == 'JPEG')

{

$file_name = md5(time().rand(5,200)).'.jpg';

file_put_contents($file_name,base64_decode($file_data));

}elseif($parts[$i]->subtype == 'GIF'){

$file_name = md5(time().rand(5,200)).'.gif';

file_put_contents($file_name,base64_decode($file_data));

}elseif($parts[$i]->subtype == 'PLAIN'){

$txt_name = time().rand(5,200).'.txt';

file_put_contents($txt_name,base64_decode($file_data));

}

}

if ($parts[$i]->parts) {

$stack[] = array("p" => $parts, "i" => $i);

$parts = $parts[$i]->parts;

$i = 0;

} else {

$i++;

}

} /* while */

} /* complicated message */

echo "userphone $phone, result:

";

echo "Content: $content

";

echo "Attachments:"; var_dump($attachment);

echo "<br/><br/>---------------------------------------------------------------------<br/><br/>";

}

}

imap_close($mbox);

?>

关于phpforimap的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于关于phpforimap的信息的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did167649
更新时间:2023-03-29   阅读:27次

上一篇: 随机生成小数php 随机生成小数 总数固定

下一篇:php编写的app php编写的网站

相关资讯

最新资料更新

  • 1.dedecms列表页标题title后加上页数其标题不重复的方法
  • 2.DEDE [field:global name=autoindex/] 按序号排列从0从1开始
  • 3.dedecms实现自动打包文章中图片并下载的方法
  • 4.详解火车头采集器免登录采集数据发布到DEDECMS织梦的方法
  • 5.织梦DedeCMS各种自定义当前位置顺序的方法
  • 6.dedecms中sql标签调用数据实例分析
  • 7.DedeCMS图集中缩略图不显示的解决方法
  • 8.dedecms会员登录积分每天只限增加一次的实现思路及代码
  • 9.dedecms实现列表页缩略图随机调用的方法
  • 10.dedecms5.7商城系统游客可下订单购买的修改方法
  • 11.织梦CMS提示DedeTag Engine Create File False错误的解决办法总结
  • 12.dede栏目页面包屑导航最后的分隔符大于号去掉方法
  • 13.织梦dedecms默认作者和默认来源修改方法
  • 14.详解解决织梦dede:title字数限制的两种方法
  • 15.使用dedecms搭建自己的本地网站(全程图解)
  • 16.织梦DedeCms v5.7 图集页面增加图片下载功能
  • 17.Dedecms图片加上Alt和Title等属性的修改方法
  • 18.dedecms文章页上一篇与下一篇标题长度截取的方法
  • 19.dedecms专题模板应用分析及解决方案
  • 20.DedeCMS文章列表每5隔行加横线的实现方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]