우리를 보낼 메일 인스턴스 프로그램 오 PHP 자습서의 3 종류를 사용 하 여, 여기에 다양 한 오 보낼 메일을 전송 하는 예제.
경우 (Send_mail ('test@qq.com', '메일 제목', '메시지 내용') = = "") 없음
성공적으로 보낸 에코! < b r > ";
} 다른 없음
에코 전송 실패! < b r > ";
}
<? php
$to = "test@test.com";
$subject = "테스트 제목";
$message = "이것은 테스트 메일."
$from = "youremail@yourdomain.com";
$headers = "에서: $from";
메일 ($to, $subject, $message, $headers);
? >
<? php
Send_mail 기능 ($to, $subject = '제목 없음', $body) 없음
$loc _host = "im286"; 편지의 컴퓨터 이름은 선택 사항
$SMTP _ACC = "test@126.com"; SMTP 인증 사용자 이름
$smtp _pass = "후진타오"; SMTP 인증 암호를 일반적으로 POP3 암호에 해당
$SMTP _host = "smtp.126.com"; SMTP 서버 주소, smtp.tom.com와 유사한
$from = "test@126.com"; 편지-메일 주소를 보낸 사람의 이메일 주소
$headers = "콘텐츠-유형: 텍스트 / 일반; charset = "은 Utf-8" rncontent-전송-인코딩: base64 ";
$LB = "RN"; LineBreak
$hdr = 폭발 ($lb, $headers); //parsed HDR
경우 ($body) {$bdy = Preg_replace ("/ ^. /", "...", 분해 ($lb, $body));} 본문을 구문 분석
$smtp = 배열 (
/ / 1, 220 또는
배열 ("EHLO") 반환을 기대 하는 EHLO. $loc _host. $lb, "220,250", "HELO 오류:"),
/ / 2, 보내기 인증 L Ogin, 334
배열을 반환 하는 기대 ("인증 로그인". $lb, "334", "인증 오류:"),
/ / 3, 전송 BASE64 인코딩된 사용자 이름, 334
배열 (base64_ 반환 기대 ($smtp _ACC) 인코딩. $lb, "334", "인증 오류:"),
/ 4, 전송 Base64 인코딩된
배열 ($ 235 반환을 기대 비밀 번호 / Smtp_pass). $lb, "235" "인증 오류:");
/ / 5, 메일 보내기, $SMTP 돌아가려면 기대 = 배열 ("에서 메일: <". $from. " > ". $lb," 오류에서 "," 메일: ");
/ / 6, rcpt에 보내기.
$smtp 반환 하는 기대 = 배열 ("RCPT 하려면: <". $to. " > $lb, "RCPT", "오류:");
/ / 7, 354
$smtp 반환 기대 하는 데이터 전송 = 배열 ("데이터". $LB, "354", "데이터 오류:");
/ / 8.0
$smtp 보내기 = 배열 (에서:) $from. $lb, "", "");
/ 8.2,
$smtp 보내기 / = 배열 ('에: '. $to. $lb, "", "");
/ / 8.1 보내기 제목
$smtp = 배열 ("주제:". $subject. $lb, "", "");
/ / 8.3 보내기 다른 헤더 콘텐츠
foreach ($h로 $hdr) {$SMTP = 배열 ($h. $lb, "", "");}
/ / 8.4, 보낼 줄 매듭번들 헤더 보냅니다
$SMTP = 배열 ($lb, "", "");
/ / 8.5, 보낼 경우 교장
편지 ($bdy) {foreach ($b으로 $bdy) {$SMTP = 배열 (Base64_encode ($b. $lb). $lb, "", "");}}
/ / 9, 보내기.
$smtp 반환 기대 하는 편지의 끝을 나타냅니다 = 배열 ("."). $LB, "", "데이터 (끝) 오류:");
/ / 10, 전송 종료, 종료, 221
$smtp 반환 기대 = 배열 ("종료". $lb, "221", "종료 오류:");
SMTP 서버 포트를 열어
$fp = @fsockopen ($smtp _host, 25);
만약 (! $fp) 에코 "< b > 오류: </b >에 conect 수 없습니다". $smtp _host. " < b r > ";
동안 ($result = @fgets ($fp, 1024)) {경우 (substr ($result, 3, 1) = = "") {;}} 휴식
$result _str = "";
SMTP 배열 명령/데이터를 전송
foreach ($req로 $smtp) 없음
메시지 보내기
@fputs ($fp, $req [0]);
수신 서버 정보는 필요 하 고, 반환 하는 경우는
경우 없음; ($req [1])
정보 수신
동안 ($result = @fgets ($fp, 1024)) 없음
경우 (substr ($result, 3, 1) = = "") {휴식;}
};
만약 (! strstr ($req [1], substr ($result, 0, 3)) 없음
$result _str. = $req [2]. $result. " < b r > ";
}
}
}
닫힌 연결
@fclose ($FP);
$result _str; 반환
}
? >