>  기사  >  PHP 프레임워크  >  TP가 phpmailer와 협력하여 이메일 전송 기능을 구현하는 방법에 대한 자세한 설명

TP가 phpmailer와 협력하여 이메일 전송 기능을 구현하는 방법에 대한 자세한 설명

藏色散人
藏色散人앞으로
2021-11-05 14:44:582336검색

다음thinkphp 프레임워크튜토리얼 칼럼에서는 TP가 phpmailer와 어떻게 협력하여 이메일 기능을 실현하는지 설명하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!

TP는 phpmailer와 협력하여 이메일을 보냅니다

  • https://packagist.org

  • 컴포저를 사용하여 phpmailer를 다운로드하고 프로젝트에 다운로드합니다.

composer require phpmailer/phpmailer
  • phpmailer 구성 코드를 입력하세요.

//将PHPMailer类导入全局名称空间
//这些必须在脚本的顶部,而不是在函数内部
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Load Composer的自动加载器
function send_email($to,$subject='',$content=''){
    //实例化并传递`true`会启用异常
    $mail = new PHPMailer(true);
    //服务器设置
    try {
        //Server settings
        $mail->SMTPDebug = 2;                       //启用详细调试输出 2详细  1简单  0不显示
        $mail->isSMTP();                                            //使用SMTP
        $mail->Host       = 'smtp.qq.com';                    //将SMTP服务器设置为通过
        $mail->SMTPAuth   = true;                                   //启用SMTP验证
        $mail->Username   = '1758604817@qq.com';                     // SMTP用户名
        $mail->Password   = 'uzbslzhwjbjqejic';                     // 邮箱的授权码,不是邮箱密码
        $mail->SMTPSecure = 'ssl';        //启用TLS加密;`的PHPMailer :: ENCRYPTION_SMTPS`鼓励
        $mail->Port       = 465;                                     //要连接的TCP端口,对于上面的`PHPMailer :: ENCRYPTION_SMTPS`使用465
        //收件人
        $mail->setFrom('1758604817@qq.com', 'pigment');
        $mail->addAddress($to);     //添加收件人
//        $mail->addAddress('ellen@example.com');               //名称是可选的
//        $mail->addReplyTo('info@example.com', 'Information');
//        $mail->addCC('cc@example.com');
//        $mail->addBCC('bcc@example.com');
        //附件
//        $mail->addAttachment('/var/tmp/file.tar.gz');         //添加附件
//        $mail->addAttachment('/tmp/image.jpg', 'new.jpg');     //可选名称
        //内容
        $mail->isHTML(true);                                  //将电子邮件格式设置为HTML
        $mail->Subject = $subject;
        $mail->Body    = $content;
        return $mail->send();
    } catch (Exception $e) {
        return $mail->ErrorInfo;
    }
}

이 메소드를 애플리케이션의 공용 파일에 추가하고 어디에서나 호출할 수 있도록 메소드로 캡슐화합니다.

Notes

Notes 디버그에서 문제 해결 방법 알아보기

데이터베이스 링크 문제가 있습니까? 테이블 이름이 틀렸나요?

이메일 승인 코드와 이메일 비밀번호가 동일하지 않습니다. 이것은 매우 중요합니다.

추천: "최신 10개의 thinkphp 비디오 튜토리얼"

위 내용은 TP가 phpmailer와 협력하여 이메일 전송 기능을 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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