PHP处理postfix邮件内容的方法


Posted in PHP onJune 16, 2015

本文实例讲述了PHP处理postfix邮件内容的方法。分享给大家供大家参考。具体如下:

<?php
//从输入读取到所有的邮件内容
$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<count($lines); $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('<',$lines[$i]);
    $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程序设计有所帮助。

PHP 相关文章推荐
探讨PHP调用时间格式的参数详解
Jun 06 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 PHP
PHP 关于访问控制的和运算符优先级介绍
Jul 08 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
php使用百度天气接口示例
Apr 22 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
PHP速成大法
Jan 30 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
Laravel实现自定义错误输出内容的方法
Oct 10 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
php操作redis常见方法示例【key与value操作】
Apr 14 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 #PHP
php采集中国代理服务器网的方法
Jun 16 #PHP
分享php分页的功能模块
Jun 16 #PHP
PHP生成plist数据的方法
Jun 16 #PHP
php动态绑定变量的用法
Jun 16 #PHP
php实现在服务器端调整图片大小的方法
Jun 16 #PHP
PHP正则验证Email的方法
Jun 15 #PHP
You might like
php获取英文姓名首字母的方法
2015/07/13 PHP
php提取微信账单的有效信息
2018/10/01 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
js读写(删除)Cookie实例详解
2013/04/17 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
详解AngularJS 模态对话框
2016/04/07 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
你可能不知道的JSON.stringify()详解
2017/08/17 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
bootstrap实现嵌套模态框的实例代码
2020/01/10 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
2020/02/03 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
python虚拟环境virualenv的安装与使用
2016/12/18 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
简单的Python调度器Schedule详解
2019/08/30 Python
pd.DataFrame统计各列数值多少的实例
2019/12/05 Python
python实现人机猜拳小游戏
2020/02/03 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
护士实习鉴定范文
2013/12/22 职场文书
采购人员的个人自我评价
2014/01/16 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
个人委托书格式
2014/04/04 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
人生感悟经典句子
2019/08/20 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技