찾다
php教程php手册PHP处理postfix的邮件内容

<ol class="dp-c">
<li class="alt"><span><span>01 <?php     </span></span></span></li>
<li><span> </span></li>
<li class="alt"><span>02      </span></li>
<li><span> </span></li>
<li class="alt"><span>03 #从输入读取到所有的邮件内容    </span></li>
<li><span> </span></li>
<li class="alt">
<span>04 </span><span class="vars">$email</span><span> = </span><span class="string">""</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>05 </span><span class="vars">$fd</span><span> = </span><span class="func">fopen</span><span>(</span><span class="string">"php://stdin"</span><span>, </span><span class="string">"r"</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>06 </span><span class="keyword">while</span><span> (!</span><span class="func">feof</span><span>(</span><span class="vars">$fd</span><span>)) {    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>07   </span><span class="vars">$email</span><span> .= </span><span class="func">fread</span><span>(</span><span class="vars">$fd</span><span>, 1024);    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>08 }    </span></li>
<li><span> </span></li>
<li class="alt">
<span>09 fclose(</span><span class="vars">$fd</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>10      </span></li>
<li><span> </span></li>
<li class="alt"><span>11 #记录所有的内容,测试    </span></li>
<li><span> </span></li>
<li class="alt">
<span>12 </span><span class="func">file_put_contents</span><span>(</span><span class="string">"/tmp/mail/"</span><span>.time(), </span><span class="vars">$email</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>13      </span></li>
<li><span> </span></li>
<li class="alt"><span>14 #处理邮件    </span></li>
<li><span> </span></li>
<li class="alt">
<span>15 </span><span class="vars">$lines</span><span> = </span><span class="func">explode</span><span>(</span><span class="string">"\n"</span><span>, </span><span class="vars">$email</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>16      </span></li>
<li><span> </span></li>
<li class="alt">
<span>17 </span><span class="comment">// empty vars   </span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>18 </span><span class="vars">$from</span><span> = </span><span class="string">""</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>19 </span><span class="vars">$date</span><span> = </span><span class="string">""</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>20 </span><span class="vars">$subject</span><span> = </span><span class="string">""</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>21 </span><span class="vars">$message</span><span> = </span><span class="string">""</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>22 </span><span class="vars">$splittingheaders</span><span> = true;    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>23      </span></li>
<li><span> </span></li>
<li class="alt">
<span>24 </span><span class="keyword">for</span><span> (</span><span class="vars">$i</span><span>=0; </span><span class="vars">$i</span><span><span class="func">count</span><span>(</span><span class="vars">$lines</span><span>); </span><span class="vars">$i</span><span>++) {    </span></span>
</li>
<li><span> </span></li>
<li class="alt">
<span>25   </span><span class="keyword">if</span><span> (</span><span class="vars">$splittingheaders</span><span>) {    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>26      </span></li>
<li><span> </span></li>
<li class="alt">
<span>27     </span><span class="comment">// look out for special headers   </span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>28     </span><span class="keyword">if</span><span> (preg_match(</span><span class="string">"/^Subject: (.*)/"</span><span>, </span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>], </span><span class="vars">$matches</span><span>)) {    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>29       </span><span class="vars">$subject</span><span> = </span><span class="vars">$matches</span><span>[1];    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>30     }    </span></li>
<li><span> </span></li>
<li class="alt">
<span>31     </span><span class="keyword">if</span><span> (preg_match(</span><span class="string">"/^From: (.*)/"</span><span>, </span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>], </span><span class="vars">$matches</span><span>)) {    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>32       </span><span class="keyword">if</span><span>(</span><span class="func">strpos</span><span>(</span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>],</span><span class="string">"<span>)){    </span></span>
</li>
<li><span> </span></li>
<li class="alt">
<span>33         </span><span class="comment">//the name exist too in from header   </span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>34         </span><span class="vars">$data</span><span> = </span><span class="func">explode</span><span>(</span><span class="string">'<span>,</span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>]);    </span></span>
</li>
<li><span> </span></li>
<li class="alt">
<span>35         </span><span class="vars">$from</span><span> = </span><span class="func">substr</span><span>(trim(</span><span class="vars">$data</span><span>[1]),0,-1);    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>36       }</span><span class="keyword">else</span><span>{    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>37         </span><span class="comment">//only the mail   </span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>38         </span><span class="vars">$from</span><span> = </span><span class="vars">$matches</span><span>[1];    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>39       }    </span></li>
<li><span> </span></li>
<li class="alt"><span>40     }    </span></li>
<li><span> </span></li>
<li class="alt">
<span>41     </span><span class="keyword">if</span><span> (preg_match(</span><span class="string">"/^Date: (.*)/"</span><span>, </span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>], </span><span class="vars">$matches</span><span>)) {    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>42       </span><span class="vars">$date</span><span> = </span><span class="vars">$matches</span><span>[1];    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>43     }    </span></li>
<li><span> </span></li>
<li class="alt">
<span>44   } </span><span class="keyword">else</span><span> {    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>45     </span><span class="comment">// not a header, but message   </span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>46     </span><span class="vars">$message</span><span> .= </span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>].</span><span class="string">"\n"</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>47   }    </span></li>
<li><span> </span></li>
<li class="alt"><span>48      </span></li>
<li><span> </span></li>
<li class="alt">
<span>49   </span><span class="keyword">if</span><span> (trim(</span><span class="vars">$lines</span><span>[</span><span class="vars">$i</span><span>])==</span><span class="string">""</span><span>) {    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>50     </span><span class="comment">// empty line, header section has ended   </span><span> </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>51     </span><span class="vars">$splittingheaders</span><span> = false;    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>52   }    </span></li>
<li><span> </span></li>
<li class="alt"><span>53 }    </span></li>
<li><span> </span></li>
<li class="alt"><span>54      </span></li>
<li><span> </span></li>
<li class="alt">
<span>55 </span><span class="vars">$when</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"Y-m-d G:i:s"</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>56 </span><span class="vars">$data</span><span> = </span><span class="func">explode</span><span>(</span><span class="string">'@'</span><span>,</span><span class="vars">$from</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt">
<span>57 </span><span class="vars">$username</span><span> = </span><span class="vars">$data</span><span>[0];    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>58      </span></li>
<li><span> </span></li>
<li class="alt"><span>59 #记录到数据库    </span></li>
<li><span> </span></li>
<li class="alt">
<span>60 </span><span class="vars">$sql</span><span> = </span><span class="string">"insert into mails ( `username`, `from`, `subject`, `date`, `message`) values ( '$username', '$from', '$subject', '$when', '$message')"</span><span>;    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>61      </span></li>
<li><span> </span></li>
<li class="alt"><span>62 #测试    </span></li>
<li><span> </span></li>
<li class="alt">
<span>63 </span><span class="func">file_put_contents</span><span>(</span><span class="string">"/tmp/mail2.log"</span><span>, </span><span class="vars">$sql</span><span>);    </span>
</li>
<li><span> </span></li>
<li class="alt"><span>64 ?>   </span></li>
</ol>




성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기