本文实例讲述了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程序设计有所帮助。
HTTP客户端可能发送一些协议头来告诉服务端它们已经看过了哪些资源。这在获取网页(使用HTTPGET请求)时非常常见,可以避免发送客户端已经获得的完整数据。然而,相同的协议头可用于所有HTTP方法(POST, PUT, DELETE, 以及其它)。 对于每一个Django从视图发回的页面(响应),都会提供两个HTTP协议头:ETag和Last-Modified。这些协议头在HTTP响应中是可选的。
问题内容: 背景 将XML文档写入浏览器的响应流,并使浏览器显示“另存为”对话框。 问题 请考虑以下方法: 在Firefox中,XML内容显示在浏览器窗口中。在IE 7中,不会显示XML内容-您必须查看文档源。两种情况都不是理想的结果。 该网页对该按钮使用以下代码: 生成的XML 并非以 开头,而是XML内容类似于: 更新#1 请注意以下代码行: 更新#2 使用是问题。一个正常的表现如预期。使用可
我目前正在将我的docker部署迁移到k8s清单,我想知道如何处理秘密。目前,我的docker容器获取/run/secrets/app_secret_key以env-var的形式获取容器内的敏感信息。但与k8s机密处理相比,这有什么好处吗?因为在另一方面,我也可以在我的声明中这样做。yaml: 然后直接将秘密作为env变量放入容器中...我能够注意到的唯一区别是,如果我在容器内提取/run/sec
本文向大家介绍php文件下载处理方法分析,包括了php文件下载处理方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php文件下载的处理方法。分享给大家供大家参考。具体分析如下: php能够处理多种条件的文件下载,先来看下面示例: 分析上述代码: 第一行代码是强制下载; 第二行代码是给下载的内容指定一个名字; 第三行代码是把下载的内容读进文件中。 一直以为要在一个页面中同时下载多
我在MonoForAndroid中有一个活动,它利用Zaxy. Net. Mobile在Android上扫描条形码。就扫描和返回结果而言,一切都很好。但是,当我尝试处理scanOverlie上的任何事件时,我得到nullRe的异常。我的代码在下面,任何帮助都将不胜感激。 上面的所有代码都工作正常。但是,当我尝试处理布局上的完成按钮时,我得到了NullRe的异常 下面是例外的详细信息
问题内容: 我正在尝试阅读我的消息,我可以获取它来打印标题,但发件人和内容显示得很滑稽。这是我用来显示消息的代码: 输出如下: 为什么不打印出from语句的实际电子邮件地址?为什么不打印出实际的身体内容?(我只是在纯文本中很有趣。) 整个代码: 谢谢! 问题答案: 对于纯文本和html消息: 对于分段消息: