php 正则匹配内容,php读取、正则匹配邮件内容的方法
本篇文章主要介绍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读取、正则匹配邮件内容的方法相关推荐
- python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容
python3爬虫系列21之selenium自动化登录163邮箱并读取未读邮件内容 1.前言 前面在 python3爬虫系列20之反爬需要登录的网站三种处理方式中介绍的第三种方法,使用自动化测试工具s ...
- php读本地json文件内容,php读取本地json文件有哪些方法
这次给大家带来php读取本地json文件有哪些方法,php读取本地json文件的注意事项有哪些,下面就是实战案例,一起来看一下. 1.data.json文件{ "goods":[ ...
- java excel文件读取的内容_java读取Excel文件指定内容
--边学习边记录~ 最近需要用到从外部文件导入测试数据,因而上网查了一些读取excel文件这方面的代码,然后修改后适用于现有场景中(得到excel中指定单元格的内容). 导入的jar:poi-3.16 ...
- python读取文件特定内容_python读取指定内存的内容
Beta阶段项目终审报告 先上图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的软件主要是用来解决玩狼人杀这款桌游时无牌.无法官.游戏流程不熟悉 ...
- PHP正则匹配到2个字符串之间的内容,匹配HTML便签内容
PHP正则匹配到2个字符串之间的内容 $preg= '/xue[\s\S]*?om/i'; preg_match_all($preg,"学并思网址xuebingsi.com",$r ...
- php获取括号中的内容,PHP实现正则匹配所有括号中的内容
PHP实现正则匹配所有括号中的内容 正则表达式:(?<=[)[^]]+ 注:以匹配中文括号中内容为例,如果匹配非中文括号,则需要在括号前增加转义符 PHP实现示例: $strSubject = ...
- python re正则提取ip地址_python 正则表达式匹配IP地址
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...
- 正则学习(2)--- 简单匹配原理
写写对简单的匹配原理的理解,还是以php为主. 首先,正则引擎主要可分为两大类:DFA和NFA,反正引擎见多了就不奇怪了,简单理解就是不同的匹配方式,就好比在数组中查找数据时,有的是从头开始顺序,查找 ...
- 正则东西类,简化正则匹配
[代码] 正则东西类 import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import ...
最新文章
- 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)
- c++ 调用cmd命令行函数 可隐藏黑框 四种方法总结
- 岗位内推 | 美团语音交互部招聘NLP/知识图谱/语音识别等算法职位(可实习)...
- android input鼠标坐标,android - 如何在EditText中设置光标位置?
- 施一公直播首秀来了!解答读博困惑,鼓励学生勇敢申请西湖大学
- 知乎热议:杨辉团队公开否认抄袭,网友:避重就轻仍谎称「首创」
- ECCV2018——点云处理相关文章
- 第五课 vim基本用法、bash编程初步和for循环
- Java完全自学手册pdf,flutter中文网
- java如何运行_如何运行java程序
- php二维码与电子名片
- openCV获取和修改像素值
- linux搭建云存储服务,CentOS 6.3搭建个人私有云存储ownCloud
- 黄金票据的制作与使用
- 一次HDFS JN lag延时问题的排查分析后续:RM陡增traffic的来源分析
- ctr 平滑_CTR平滑方法
- hnustoj 2108 湖南科技大学2019年大学生计算机程序设计新生赛
- 【论文】低光图像增强的零参考深度曲线估计
- 计算机类专业中对数学物理要求低的,哪些专业对数学和物理要求比较高
- c语言计算矩阵的加法和乘法,C语言矩阵加法乘法