本篇文章主要介绍php读取、正则匹配邮件内容的方法,感兴趣的朋友参考下,希望对大家有所帮助。

本文实例讲述了PHP处理postfix邮件内容的方法。具体如下:

//从输入读取到所有的邮件内容

$email = "";

$fd = fopen("php://stdin", "r");

while (!feof($fd)) {

$email .= fread($fd, 1024);

}

fclose($fd);

//记录所有的内容,测试

file_put_contents("/tmp/mail/".time(), $email);

//处理邮件

$lines = explode("\n", $email);

// empty vars

$from = "";

$date = "";

$subject = "";

$message = "";

$splittingheaders = true;

for ($i=0; $i

if ($splittingheaders) {

// look out for special headers

if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) {

$subject = $matches[1];

}

if (preg_match("/^From: (.*)/", $lines[$i], $matches)) {

if(strpos($lines[$i],"

//the name exist too in from header

$data = explode('

$from = substr(trim($data[1]),0,-1);

}else{

//only the mail

$from = $matches[1];

}

}

if (preg_match("/^Date: (.*)/", $lines[$i], $matches)) {

$date = $matches[1];

}

} else {

// not a header, but message

$message .= $lines[$i]."\n";

}

if (trim($lines[$i])=="") {

// empty line, header section has ended

$splittingheaders = false;

}

}

$when = date("Y-m-d G:i:s");

$data = explode('@',$from);

$username = $data[0];

//记录到数据库

$sql = "insert into mails ( `username`, `from`, `subject`, `date`, `message`) values ( '$username', '$from', '$subject', '$when', '$message')";

//测试

file_put_contents("/tmp/mail2.log", $sql);

?>

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

PHP中Socket的基础知识

php实现发送和接收短信的功能

php可逆加密的方法及原理

php 正则匹配内容,php读取、正则匹配邮件内容的方法相关推荐

  1. python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容

    python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容 1.前言 前面在 python3爬虫系列20之反爬需要登录的网站三种处理方式中介绍的第三种方法,使用自动化测试工具s ...

  2. php读本地json文件内容,php读取本地json文件有哪些方法

    这次给大家带来php读取本地json文件有哪些方法,php读取本地json文件的注意事项有哪些,下面就是实战案例,一起来看一下. 1.data.json文件{ "goods":[ ...

  3. java excel文件读取的内容_java读取Excel文件指定内容

    --边学习边记录~ 最近需要用到从外部文件导入测试数据,因而上网查了一些读取excel文件这方面的代码,然后修改后适用于现有场景中(得到excel中指定单元格的内容). 导入的jar:poi-3.16 ...

  4. python读取文件特定内容_python读取指定内存的内容

    Beta阶段项目终审报告 先上图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是用来解决玩狼人杀这款桌游时无牌.无法官.游戏流程不熟悉 ...

  5. PHP正则匹配到2个字符串之间的内容,匹配HTML便签内容

    PHP正则匹配到2个字符串之间的内容 $preg= '/xue[\s\S]*?om/i'; preg_match_all($preg,"学并思网址xuebingsi.com",$r ...

  6. php获取括号中的内容,PHP实现正则匹配所有括号中的内容

    PHP实现正则匹配所有括号中的内容 正则表达式:(?<=[)[^]]+ 注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符 PHP实现示例: $strSubject = ...

  7. python re正则提取ip地址_python 正则表达式匹配IP地址

    一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...

  8. 正则学习(2)--- 简单匹配原理

    写写对简单的匹配原理的理解,还是以php为主. 首先,正则引擎主要可分为两大类:DFA和NFA,反正引擎见多了就不奇怪了,简单理解就是不同的匹配方式,就好比在数组中查找数据时,有的是从头开始顺序,查找 ...

  9. 正则东西类,简化正则匹配

    [代码] 正则东西类 import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import ...

最新文章

  1. 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)
  2. c++ 调用cmd命令行函数 可隐藏黑框 四种方法总结
  3. 岗位内推 | 美团语音交互部招聘NLP/知识图谱/语音识别等算法职位(可实习)...
  4. android input鼠标坐标,android - 如何在EditText中设置光标位置?
  5. 施一公直播首秀来了!解答读博困惑,鼓励学生勇敢申请西湖大学
  6. 知乎热议:杨辉团队公开否认抄袭,网友:避重就轻仍谎称「首创」
  7. ECCV2018——点云处理相关文章
  8. 第五课 vim基本用法、bash编程初步和for循环
  9. Java完全自学手册pdf,flutter中文网
  10. java如何运行_如何运行java程序
  11. php二维码与电子名片
  12. openCV获取和修改像素值
  13. linux搭建云存储服务,CentOS 6.3搭建个人私有云存储ownCloud
  14. 黄金票据的制作与使用
  15. 一次HDFS JN lag延时问题的排查分析后续:RM陡增traffic的来源分析
  16. ctr 平滑_CTR平滑方法
  17. hnustoj 2108 湖南科技大学2019年大学生计算机程序设计新生赛
  18. 【论文】低光图像增强的零参考深度曲线估计
  19. 计算机类专业中对数学物理要求低的,哪些专业对数学和物理要求比较高
  20. c语言计算矩阵的加法和乘法,C语言矩阵加法乘法

热门文章

  1. SQLiteOpenHelper使用详解
  2. Android—设计模式原则及常见的设计模式
  3. uni-app实现传值路径乱码的问题
  4. C++模拟键盘操作窗口入门
  5. python向钉钉发送本地文件_Python实现向钉钉群发送消息通知
  6. C++CLR类库封装Native类库并用C#调用
  7. JTAG、JLINK、ULINK、ST-LINK的联系和区别
  8. java 手动事务回滚_JAVA设置手动提交事务,回滚事务,提交事务的操作
  9. Android怎么导入Moudle
  10. 中超联赛提交函数的c语言,国家体育总局