• TP5使用PHPMailer发送邮件


    网上好多答案都过时了,这里重新记一下

    一、使用composer安装phpmailer

    composer require phpmailer/phpmailer

    二、在应用公共文件common.php写个发送邮件的函数(腾讯邮箱的为例),需要注意的是实例化PHPMailer的时候

    /**
     * Notes:发送邮件
     * @param string $tomail 接收邮件者邮箱
     * @param string $name 接收邮件者名称
     * @param string $subject 邮件主题
     * @param string $body 邮件内容
     * @param string $attachment 附件列表
     * @return boolean
     * @throws phpmailerException
     */
    function send_mail($tomail, $name, $subject = '', $body = '', $attachment = null) {
    
        $mail = new PHPMailerPHPMailerPHPMailer();           //实例化PHPMailer对象
        $mail->CharSet = 'UTF-8';           //设定邮件编码,默认ISO-8859-1,如果发中文此项必须设置,否则乱码
        $mail->IsSMTP();                    // 设定使用SMTP服务
        $mail->SMTPDebug = 0;               // SMTP调试功能 0=关闭 1 = 错误和消息 2 = 消息
        $mail->SMTPAuth = true;             // 启用 SMTP 验证功能
        $mail->SMTPSecure = 'ssl';          // 使用安全协议
        $mail->Host = "smtp.qq.com"; // SMTP 服务器
        $mail->Port = 465;                  // SMTP服务器的端口号
        $mail->Username = "XXXXX@qq.com";    // SMTP服务器用户名
        $mail->Password = "XXXXX";     // SMTP服务器密码,这里是你开启SMTP服务时生成密码
        $mail->SetFrom('XXXXX@qq.com', '发件人昵称');
        $replyEmail = '';                   //留空则为发件人EMAIL
        $replyName = '';                    //回复名称(留空则为发件人名称)
        $mail->AddReplyTo($replyEmail, $replyName);
        $mail->Subject = $subject;
        $mail->MsgHTML($body);
        $mail->AddAddress($tomail, $name);
        if (is_array($attachment)) { // 添加附件
            foreach ($attachment as $file) {
                is_file($file) && $mail->AddAttachment($file);
            }
        }
        return $mail->Send() ? true : $mail->ErrorInfo;
    }

    三,在控制器中调用

    public function send_email()
        {
            $toemail='1055499770@qq.com';//收件人邮箱
            $name='亲爱的Pedro,您好!';//接收邮件者名称
            $subject='QQ邮件发送测试';//邮件主题
            $content='恭喜你,邮件测试成功。';//邮件内容
            //调用方法发送邮件
            dump(send_mail($toemail,$name,$subject,$content));
        }

    四、测试

  • 相关阅读:
    Mac电脑,Andorid studio 配置 Flutter
    java.lang.RuntimeException: com.intellij.ide.plugins.PluginManager
    #Java Web累积#关于MUI的上滑和下拉加载
    #iOS问题记录#WKWebView 闪退异常
    #iOS问题记录#UITableView加载后直接滑动倒最底部
    #Java Web累积#JS动态加载所有同name的select的option
    #iOS问题记录# UIWebView滑动到底部
    #Java Web累积#表格<table>中隐藏列做备用数据
    #iOS问题记录# UITextview富文本链接,禁止长按事件
    Day 1:自定义tableview cell xib版
  • 原文地址:https://www.cnblogs.com/blibli/p/11172921.html
Copyright © 2020-2023  润新知