PHP处理postfix的邮件内容
程序员文章站
2023-01-01 12:55:17
01
01 <?php 02 03 #从输入读取到所有的邮件内容 04 $email = ""; 05 $fd = fopen("php://stdin", "r"); 06 while (!feof($fd)) { 07 $email .= fread($fd, 1024); 08 } 09 fclose($fd); 10 11 #记录所有的内容,测试 12 file_put_contents("/tmp/mail/".time(), $email); 13 14 #处理邮件 15 $lines = explode(" ", $email); 16 17 // empty vars 18 $from = ""; 19 $date = ""; 20 $subject = ""; 21 $message = ""; 22 $splittingheaders = true; 23 24 for ($i=0; $i<count($lines); $i++) { 25 if ($splittingheaders) { 26 27 // look out for special headers 28 if (preg_match("/^subject: (.*)/", $lines[$i], $matches)) { 29 $subject = $matches[1]; 30 } 31 if (preg_match("/^from: (.*)/", $lines[$i], $matches)) { 32 if(strpos($lines[$i],"<")){ 33 //the name exist too in from header 34 $data = explode(<,$lines[$i]); 35 $from = substr(trim($data[1]),0,-1); 36 }else{ 37 //only the mail 38 $from = $matches[1]; 39 }
下一篇: 她身世寒微,逆袭成皇后后深得汉武帝信任