使用PHPMailer在ThinkPHP5中发送电子邮件-php教程

资源魔 29 0

ThinkPHP5应用PHPMailer发送电子邮件

phpMailer 是一个十分弱小的 ph p发送邮件类,能够设定发送邮件地点、回复地点、邮件主题、html网页,上传附件,而且应用起来十分不便。

phpMailer 的特性:

一、正在邮件中蕴含多个 TO、CC、BCC 以及 REPLY-TO。

二、平台使用宽泛,支持的 SMTP 效劳器包罗 Sendmail、qmail、Postfix、Gmail、Imail、Exchange 等等。

三、支持嵌入图象,附件,HTML 邮件。

四、牢靠的弱小的调试性能。

五、支持 SMTP 认证。

六、自界说邮件头。

七、支持 8bit、base6四、binary 以及 quoted-printable 编码。

phpMailer 装置或许下载形式:

一、从 github 上下载:https://github.com/PHPMailer/PHPMailer/

二、应用 composer 装置:

composer require phpmailer/phpmailer

或许

正在你的composer.json文件外面加之

"phpmailer/phpmailer": "~6.0"

发送以前需求领有本人的邮件效劳器,测试的时分其适用本人请求的收费邮箱最不便了,没有需求本人再搭建效劳器了,可能要设置装备摆设邮箱的SMTP效劳,年夜局部公共邮箱(16三、qq等)为了平安默许是封闭的。

网易邮箱设置装备摆设以下图:

307687efaf08534f75d1d86d47efb31.png

QQ 邮箱相干设置装备摆设以下图:

邮箱POP3效劳器(端口995)smtp效劳器(端口465或587)
qq.com
pop.qq.comsmtp.qq.com

当然除了了网易以及 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 = 'smtp.163.com';                // SMTP效劳器 
            $mail->SMTPAuth = true;                      // 容许 SMTP 认证 
            $mail->Username = 'liqingbo27@163.com';      // SMTP 用户名  即邮箱的用户名 
            $mail->Password = '';                        // SMTP 明码  局部邮箱是受权码(例如163邮箱,没有明确看上面有阐明) 
            $mail->SMTPSecure = 'ssl';                   // 容许 TLS 或许ssl协定 
            $mail->Port = 465;                           // 效劳器端口 25 或许465 详细要看邮箱效劳器支持 
 
            $mail->setFrom('liqingbo27@163.com', 'Mailer');  //发件人 
            $mail->addAddress('252588119@qq.com', 'Joe');  // 收件人 
            //$mail->addAddress('ellen@example.com');  // 可增加多个收件人 
            $mail->addReplyTo('liqingbo27@163.com', 'info'); //回复的时分回复给哪一个邮箱 倡议以及发件人分歧 
            //$mail->addCC('cc@example.com');                    //抄送 
            //$mail->addBCC('bcc@example.com');                    //密送 
 
            //发送附件 
            // $mail->addAttachment('../xy.zip');         // 增加附件 
            // $mail->addAttachment('../thumb-1.jpg', 'new.jpg');    // 发送附件而且重定名 
 
            //Content 
            $mail->isHTML(true);                                  // 能否以HTML文档格局发送  发送后客户端可间接显示对应HTML内容 
            $mail->Subject = '这里是邮件题目' . time(); 
            $mail->Body    = '<h1>这里是邮件内容</h1>' . date('Y-m-d H:i:s'); 
            $mail->AltBody = '假如邮件客户端没有支持HTML则显示此内容'; 
 
            $mail->send(); 
            echo '邮件发送胜利'; 
        } catch (Exception $e) { 
            echo '邮件发送失败: ', $mail->ErrorInfo; 
        }
    }
}

间接拜访链接:https://www.liqingbo.cn/api/test/email

失常的状况下会输入:邮件发送胜利

收件人成果如图

d22237eb4a32e0e7a29a09fbc02a9aa.png

59ab78b991d06a6bdfa7dfe2665b8c0.png

163设置受权码

设置->客户端受权明码->受权码

78ffa50ea9e7f72e5071e1162cf69a2.png

保举教程:《PHP视频教程》

以上就是应用PHPMailer正在ThinkPHP5中发送电子邮件的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 PHPMailer

抱歉,评论功能暂时关闭!