원문: http://www.jbxue.com/php/25502.html
이 기사에서는 PHP에서 이메일을 보내는 두 가지 방법, 즉 PHP에 내장된 mail() 기능을 사용하여 이메일을 보내는 방법과 다음을 사용하는 방법을 소개합니다. 캡슐화된 SMTP 프로토콜의 이메일 클래스를 사용하여 이메일을 보내려면 SMTP 프로토콜로 캡슐화된 이메일 클래스를 사용하여 이메일을 보내는 것이 좋습니다.
PHP에서 이메일을 보내는 방법은 무엇입니까? 여러 가지 방법이 있지만 가장 일반적으로 사용되는 방법은 SMTP 프로토콜을 사용하여 이메일을 보내는 것입니다.
특별 추천: PHP 이메일 코드 수집
1. PHP에 내장된 mail() 기능을 사용하세요
복사 코드 코드 예:
$to = "test@163.com"; //수신자
$subject = "Test" // 제목
$message = "테스트 메일입니다!"; //텍스트
mail($to,$subject,$message)
직접 오류 보고:
경고: mail( ) [function.mail]: "localhost" 포트 25에서 메일 서버에 연결하지 못했습니다. php.ini에서 "SMTP" 및 "smtp_port" 설정을 확인하거나 D:/www/Zend/email/email.php에서 ini_set()을 사용하세요. 10행
로컬 SMTP 서버가 필요합니다. 코드는 다음과 같이 수정됩니다.
코드 복사 코드 예:
$to = "test@163.com";//수신자
$subject = "테스트";//이메일 제목
$message = "테스트입니다. mail !";//이메일 텍스트
ini_set('SMTP','smtp.163.com');//보내는 SMTP 서버
ini_set('smtp_port',25);//보내는 SMTP 서버 포트
ini_set('sendmail_from',"admin@163.com");//보내는 사람의 이메일 주소
mail($to,$subject,$message);
계속 오류:
경고: mail() [function.mail]: SMTP 서버 응답: 553 인증
필수,smtp2,DNGowKD7v5BTDo9NnplVBA--.1171S2 1301220947 inD:/www/Zend/email/email.php 9행
인증 정보는 어떻게 작성해야 하나요? 어디서 구성하나요?
mail() 함수를 사용하여 이메일을 보내기 위해서는 SMTP 인증 없이 이메일을 보낼 수 있는 메일 서버가 있어야 합니다. 하지만 오늘날의 SMTP 메일 서버는 기본적으로 인증이 필요하므로 이를 사용하여 이메일을 보내려면 인증이 필요하지 않은 로컬 SMTP 서버만 설정하면 됩니다.
결론: mail() 함수를 사용하여 이메일을 보내려면 인증이 필요하지 않은 SMTP 서버가 있어야 합니다.
2. SMTP 프로토콜을 캡슐화하는 이메일 클래스를 사용하세요.
이메일을 보낼 때는 SMTP 프로토콜을 사용하는 것이 좋습니다.
PEAR 확장의 Mail 클래스를 사용하는 것이 좋습니다. 일반 텍스트 및 HTML 형식의 이메일을 지원할 수 있으며, 올바른 구성으로 인해 중국어가 발생하지 않습니다. 왜곡된 문자, 첨부 파일 등을 지원할 수 있습니다.
서버에서 pear install Mail 명령을 사용하면 빠르게 설치할 수 있습니다. 서버 권한이 부족한 학생도 해당 수업의 PHP 소스 코드를 직접 다운로드하여 포함시킬 수 있습니다.
참고: Mail 클래스는 Net/SMTP.php 및 Mail/mime.php에 의존하므로 함께 다운로드하여 사용할 때 함께 포함해야 합니다.
자세한 설치 방법은 공식 홈페이지(http://pear.php.net/package/Mail)에서 확인하실 수 있습니다.
예, Mail 클래스의 이메일 전송 방법.
코드 복사 코드 예:
// Pear 메일 확장
require_once('Mail.php')
require_once('Mail/mime.php')
require_once('Net/SMTP) .php');
$smtpinfo = array();
$smtpinfo["host"] = "smtp.163.com";//SMTP 서버
$smtpinfo["port" ] = "25"; //SMTP 서버 포트
$smtpinfo["username"] = "username@163.com"; //보낸 사람의 이메일 주소
$smtpinfo["password"] = "password" ; //발신자 이메일 비밀번호
$smtpinfo["timeout"] = 10;//네트워크 시간 초과, 초
$smtpinfo["auth"] = true;//로그인 확인
// $smtpinfo[" debug"] = true;//디버그 모드
// 수신자 목록
$mailAddr = array('receiver@163.com');
/ /발신자 표시 정보
$from = "이름
// 수신자 표시 정보
$to = implode(',',$ mailAddr)
/ / 이메일 제목
$subject = "테스트 이메일입니다."
// 이메일 본문
$content = " 무엇이든 쓰세요
";
// 이메일 본문 유형, 형식 및 인코딩
$contentType = "text/html; charset=utf-8"
/ /Newline 기호 Linux: n Windows: rn
$ crlf = "n";
$mime = new Mail_mime($crlf)
$mime->setHTMLBody($content)
$param['text_charset'] = 'utf- 8';
$param['html_charset'] = 'utf-8';
$param['head_charset'] = 'utf-8'
$body = $mime->get( $param);
$headers = array();
$headers["From"] = $from;
$headers[ "To"] = $to; ["제목"] = $subject;
$headers["Content-Type"] = $contentType
$headers = $mime->headers
$smtp =& Mail::factory("smtp", $smtpinfo)
$mail = $smtp->send($mailAddr, $headers, $body)
$smtp- >disconnect();
if (PEAR::isError($mail)) {
//전송 실패
echo '이메일 전송 실패: ' . ."n";
}
else{
//성공적으로 전송됨
echo "success!n";
위는 PHP에서 이메일을 보내는 두 가지 방법을 소개합니다. PHP는 몇 가지 측면을 포함하여 smtp를 사용하여 PHP 튜토리얼에 관심이 있는 친구에게 도움이 되기를 바랍니다.