PHP로 이메일 전송을 구현하려는 아이디어
이 글은 주로 PHP로 이메일 보내기를 구현하는 아이디어를 소개합니다. 관심 있는 친구들이 참고하면 좋겠습니다.
이 글의 주요 내용은 PHP를 사용하여 이메일을 보내는 것인데, 이는 다음 두 가지 방법으로 요약됩니다.
1. PHP에 내장된 mail() 함수를 사용합니다.
<?php $to = "test@163.com"; //收件人 $subject = "Test"; //主题 $message = "This is a test mail!"; //正文 mail($to,$subject,$message);
결과가 바로 오류가 됩니다.
경고: mail() [function.mail]: "localhost" 포트 25에서 메일 서버에 연결하지 못했습니다. php.ini에서 "SMTP" 및 "smtp_port" 설정을 확인하거나 ini_set() inD를 사용하세요. :/www/Zend/ email/email.php 온라인 10
이유 분석: 로컬 SMTP 서버가 필요한데, 코드를 다시 변경했습니다:
<?php $to = "test@163.com";//收件人 $subject = "Test";//邮件主题 $message = "This is a test 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 서버만 설정하면 됩니다. 구축 방법: Windows와 함께 제공되는 IIS를 사용하거나 인터넷에서 다른 SMTP 서버 소프트웨어를 다운로드하세요.
결론: mail() 함수를 사용하여 이메일을 보내려면 인증이 필요하지 않은 SMTP 서버가 있어야 합니다. 이 경우 구성 작업이 조금 더 늘어나지만 몇 줄의 코드만으로 사용하기가 더 쉬워집니다.
2. SMTP 프로토콜을 캡슐화하는 메일 클래스 사용
이 방법은 비교적 일반적이며, 특히 서버가 없고 인터넷에서 가상 호스트를 구입하는 대다수의 학생들에게는 비현실적입니다. 그래서 그들은 여전히 SMTP 자체를 사용하여 이메일을 보냅니다.
하지만 이 작업을 완료하려면 SMTP 프로토콜에 대해 어느 정도 이해해야 합니다. 모든 작업을 스스로 수행하는 것을 좋아하는 학생은 직접 작성할 수 있고, 이를 자신의 것처럼 사용하려는 학생은 인터넷에서 다운로드할 수 있습니다. .
그러나 PEAR 확장의 Mail 클래스 를 사용하는 것이 좋습니다. 이것은 강력한 기능을 가지고 있습니다: 각 필드에 대해 인코딩을 설정할 수 있으며 올바른 구성으로 인해 발생하지 않습니다. 중국어 왜곡 문자, 예 첨부 파일 등을 지원합니다.
서버에서 pear install Mail 명령을 사용하면 빠르게 설치할 수 있습니다. 서버 권한이 부족한 학생도 해당 수업의 PHP 소스 코드를 직접 다운로드하여 포함시킬 수 있습니다.
참고: Mail 클래스는 Net/SMTP.php 및 Mail/mime.php에 따라 달라지므로 함께 다운로드하여 사용할 때 함께 포함해야 합니다.
Mail 클래스에서 이메일을 보내는 방법에 대한 예를 들어 보겠습니다. 인터넷의 다른 SMTP 메일 클래스 사용법도 비슷합니다.
<?php // Pear Mail 扩展 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 = "Name <username@163.com>"; // 收件人显示信息 $to = implode(',',$mailAddr); // 邮件标题 $subject = "这是一封测试邮件"; // 邮件正文 $content = "<h3>随便写点什么</h3>"; // 邮件正文类型,格式和编码 $contentType = "text/html; charset=utf-8"; //换行符号 Linux: \n Windows: \r\n $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; $headers["Subject"] = $subject; $headers["Content-Type"] = $contentType; $headers = $mime->headers($headers); $smtp =& Mail::factory("smtp", $smtpinfo); $mail = $smtp->send($mailAddr, $headers, $body); $smtp->disconnect(); if (PEAR::isError($mail)) { //发送失败 echo 'Email sending failed: ' . $mail->getMessage()."\n"; } else{ //发送成功 echo "success!\n"; }
인터넷에 있는 SMTP 클래스가 고도로 캡슐화되어 있는 경우 , 위의 방법은 더 간단하지만 사용 방법은 비교적 유사합니다.
결론: 이 방법으로 이메일을 보내려면 소프트웨어를 설치할 필요가 없습니다. PHP 클래스를 포함하고 구성 코드 몇 줄만 더 작성하면 됩니다. 그리고 인터넷에 많은 예제 코드가 있는데, 대부분의 경우 이를 복사하고 몇 가지 매개변수만 수정하면 사용하기 때문에 매우 편리하며 이 방법을 사용하는 것이 좋습니다.
요약: 위 내용이 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 권장 사항:
파일 다운로드를 위한 PHP 함수 예제에 대한 자세한 설명
PHP가 QRCODE를 기반으로 컬러 QR 코드를 생성하는 방법
PHP는 로그인 인증 코드 기능 및 호출 방법을 구현합니다
위 내용은 PHP로 이메일 전송을 구현하려는 아이디어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

phpstorm에서 CLI 모드를 디버그하는 방법은 무엇입니까? PHPStorm으로 개발할 때 때때로 CLI (Command Line Interface) 모드에서 PHP를 디버그해야합니다 ...
