PHP에서 메일 코드를 보낼 수 세 가지 방법

출처: 인터넷
작성자: 사용자
키워드: 웹 프로그래밍 PHP는 자습서

우리를 보낼 메일 인스턴스 프로그램 오 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; 반환
}
? >

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.