PHP 는 POP 3 를 사용 하여 메 일 을 받 는 예제 코드 를 읽 습 니 다.

직접 코드 올 리 기:

<?php
$array_values['host'] = "host";
$array_values['port'] = 110;
$array_values['user'] = '   ';
$array_values['password'] = '  ';
$array_values['checkmail'] = '[email protected]';

ganji_get_test_mail($array_values);

function ganji_get_test_mail($array_values)
{
  $host = $array_values['host'];
  $port = $array_values['port'];
  $user = $array_values['user'];
  $password = $array_values['password'];
  $checkmail = $array_values['checkmail'];
  $msg = '';
  $return_msg = '';
  // ini_set('memory_limit', '80M');
  if (! ($sock = fsockopen(gethostbyname($host), $port, $errno, $errstr))) {
    exit($errno . ': ' . $errstr);
  }

  set_socket_blocking($sock, true);

  $command = "USER " . $user . "\r
"; fwrite($sock, $command); $msg = fgets($sock); $command = "PASS " . $password . "\r
"; fwrite($sock, $command); $msg = fgets($sock); $command = "stat\r
"; fwrite($sock, $command); $return_msg = fgets($sock); $msg = fgets($sock); $command = "LIST\r
"; fwrite($sock, $command); $all_mails = array(); while (true) { $msg = fgets($sock); if (! preg_match('/^\+OK/', $msg) && ! preg_match('/^\./', $msg)) { $msg = preg_replace('/\ .*\r
/', '', $msg); array_push($all_mails, $msg); } if (preg_match('/^\./', $msg)) break; } // $ganji_mails = array(); foreach ($all_mails as $item) { fwrite($sock, "TOP $item 0\r
"); while (true) { $msg = fgets($sock); // echo $msg . "<Br><Br>"; if (preg_match('/^\./', $msg)) { array_push($ganji_mails, $item); break; } } continue; } $mail_content = ''; $array_ganji_mails = array(); // foreach ($ganji_mails as $item) { fwrite($sock, "RETR $item\r
"); while (true) { $msg = fgets($sock); $mail_content .= $msg; if (preg_match('/^\./', $msg)) { array_push($array_ganji_mails, iconv_mime_decode_headers($mail_content, 0, "UTF-8")); $mail_content = ''; break; } } } // 9999 fwrite($sock, "RETR 1\r
"); $mail_contents = fread($sock, 9999); // echo "<br>"; var_dump($mail_contents); echo "<br>"; $command = "QUIT\r
"; fwrite($sock, $command); $msg = fgets($sock); return $mail_contents; }
자주 사용 하 는 POP 3 명령 소개:
명령 하 다.
매개 변수
상태.
묘사 하 다.
USER
username
인가
이 명령 은 아래 pass 명령 과 성공 하면 상태 전환 을 가 져 옵 니 다.
PASS
password 
인가
APOP
Name,Digest
인가
Digest 는 MD5 메시지 요약 입 니 다.
STAT
None
처리 하 다.
메 일 총수 와 총 바이트 수 같은 메 일 에 대한 통계 자 료 를 서버 에 보 내 달라 고 요청 합 니 다.
UIDL
[Msg#]
처리 하 다.
메 일의 유일한 식별 자 를 되 돌려 줍 니 다.POP 3 세 션 의 모든 식별 자 는 유일한 것 입 니 다.
LIST
[Msg#]
처리 하 다.
메 일의 수량 과 모든 메 일의 크기 를 되 돌려 줍 니 다.
RETR
[Msg#]
처리 하 다.
매개 변수 로 표 시 된 메 일의 모든 텍스트 를 되 돌려 줍 니 다.
DELE
[Msg#]
처리 하 다.
서버 는 매개 변수 표지 의 메 일 을 삭제 로 표시 하고 quit 명령 으로 실 행 됩 니 다.
RSET
None
처리 하 다.
서버 는 삭제 로 표 시 된 모든 메 일 을 초기 화 합 니 다.DELE 명령 을 취소 하 는 데 사 용 됩 니 다.
TOP
[Msg#] 
처리 하 다.
서버 는 매개 변수 로 표 시 된 메 일 앞 n 줄 내용 을 되 돌려 줍 니 다.n 은 정수 여야 합 니 다.
NOOP
None
처리 하 다.
서버 는 어떤 조작 도 하지 않 고 긍정 적 인 응답 을 되 돌려 줍 니 다.
QUIT
None
업데이트
탈퇴
이상 은 PHP 가 POP 3 를 사용 하여 메 일 을 받 는 예제 코드 를 읽 는 상세 한 내용 입 니 다.더 많은 PHP 가 메 일 을 읽 고 받 는 자 료 는 우리 의 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기