>  기사  >  백엔드 개발  >  PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

coldplay.xixi
coldplay.xixi앞으로
2020-06-08 11:19:573842검색

PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

ThinkPHP5는 PHPMailer를 사용하여 이메일을 보냅니다

phpMailer는 보내는 이메일 주소, 답장 주소, 이메일 제목, HTML 웹 페이지, 첨부 파일 업로드 등을 설정할 수 있는 매우 강력한 PHP 이메일 클래스입니다. 사용. .

phpMailer의 기능:

1. 이메일에 여러 TO, CC, BCC 및 REPLY-TO를 포함합니다.

2. 플랫폼은 Sendmail, qmail, Postfix, Gmail, Imail, Exchange 등을 포함하여 널리 사용되고 지원됩니다.

3. 삽입된 이미지, 첨부 파일 및 HTML 이메일을 지원합니다.

4. 안정적이고 강력한 디버깅 기능.

5. SMTP 인증을 지원합니다.

6. 이메일 헤더를 맞춤설정하세요.

7. 8비트, base64, 바이너리 및 인용 인쇄 가능 인코딩을 지원합니다.

phpMailer 설치 또는 다운로드 방법:

1. Github에서 다운로드: https://github.com/PHPMailer/PHPMailer/

2. 추가

composer require phpmailer/phpmailer

또는

를 사용하여 설치하세요.

"phpmailer/phpmailer": "~6.0"

보내기 전에 자체 메일 서버가 있어야 하는데, 실제로는 신청한 무료 메일함을 이용하는 것이 가장 편리할 수도 있습니다. 사서함의 SMTP 서비스를 구성해야 합니다. 일부 공용 사서함(163, qq 등)은 보안상의 이유로 기본적으로 닫혀 있습니다.

NetEase 메일함 구성은 아래와 같습니다.

PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

QQ 메일함 관련 구성은 아래와 같습니다.

qq.compop.qq.comsmtp.qq.com
Mailbox POP3 서버(포트 9 95) smtp 서버(포트 465 또는 587)

물론 NetEase 및 QQ 사서함 외에도 다른 사서함도 있습니다. 도 가능합니다

위의 Composer를 실행해 보세요. 명령을 실행하면 루트 디렉터리 아래 /vendor 디렉터리에 추가 phpmailer 폴더가 생깁니다.

php 코드 예:

<?php
namespace app\api\controller;
use think\Controller;
 
use think\Cache;
use think\Db;
 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
 
class Test extends Controller
{
 
    public function email(){
        $mail = new PHPMailer(true);                              // Passing `true` enables exceptions 
        try { 
            //服务器配置 
            $mail->CharSet ="UTF-8";                     //设定邮件编码 
            $mail->SMTPDebug = 0;                        // 调试模式输出 
            $mail->isSMTP();                             // 使用SMTP 
            $mail->Host = &#39;smtp.163.com&#39;;                // SMTP服务器 
            $mail->SMTPAuth = true;                      // 允许 SMTP 认证 
            $mail->Username = &#39;liqingbo27@163.com&#39;;      // SMTP 用户名  即邮箱的用户名 
            $mail->Password = &#39;&#39;;                        // SMTP 密码  部分邮箱是授权码(例如163邮箱,不明白看下面有说明) 
            $mail->SMTPSecure = &#39;ssl&#39;;                   // 允许 TLS 或者ssl协议 
            $mail->Port = 465;                           // 服务器端口 25 或者465 具体要看邮箱服务器支持 
 
            $mail->setFrom(&#39;liqingbo27@163.com&#39;, &#39;Mailer&#39;);  //发件人 
            $mail->addAddress(&#39;252588119@qq.com&#39;, &#39;Joe&#39;);  // 收件人 
            //$mail->addAddress(&#39;ellen@example.com&#39;);  // 可添加多个收件人 
            $mail->addReplyTo(&#39;liqingbo27@163.com&#39;, &#39;info&#39;); //回复的时候回复给哪个邮箱 建议和发件人一致 
            //$mail->addCC(&#39;cc@example.com&#39;);                    //抄送 
            //$mail->addBCC(&#39;bcc@example.com&#39;);                    //密送 
 
            //发送附件 
            // $mail->addAttachment(&#39;../xy.zip&#39;);         // 添加附件 
            // $mail->addAttachment(&#39;../thumb-1.jpg&#39;, &#39;new.jpg&#39;);    // 发送附件并且重命名 
 
            //Content 
            $mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容 
            $mail->Subject = &#39;这里是邮件标题&#39; . time(); 
            $mail->Body    = &#39;<h1>这里是邮件内容</h1>&#39; . date(&#39;Y-m-d H:i:s&#39;); 
            $mail->AltBody = &#39;如果邮件客户端不支持HTML则显示此内容&#39;; 
 
            $mail->send(); 
            echo &#39;邮件发送成功&#39;; 
        } catch (Exception $e) { 
            echo &#39;邮件发送失败: &#39;, $mail->ErrorInfo; 
        }
    }
}

직접 액세스 링크: https://www.liqingbo. cn/api/test/email

Normal 이 경우 다음과 같이 출력됩니다. 이메일이 성공적으로 전송되었습니다

수신자 효과는 그림과 같습니다

PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

163 인증 코드 설정


설정 ->클라이언트 인증 비밀번호->인증 코드

PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기

추천 튜토리얼: "

PHP 비디오 튜토리얼"

위 내용은 PHPMailer를 사용하여 ThinkPHP5에서 이메일 보내기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 liqingbo.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제