laravel8(五)使用phpmailer发送邮件

简介: 博客留言系统需要用到邮件发送,有用户给我留言程序会自动给我发送邮件。很实用的一个小功能。一:下载phpmailer类库。我这里使用composer下载:有可能会失败,可以多试几次bash复制代码composer require phpmailer/phpmailer二:开始使用php复制代码/** * @name: 发送邮件方法 * @author: camellia * @date: 2022-01-19 * @param: $email string 发送给谁 * @param: $mail_title stri

博客留言系统需要用到邮件发送,有用户给我留言程序会自动给我发送邮件。很实用的一个小功能。

一:下载phpmailer类库。

我这里使用composer下载:有可能会失败,可以多试几次

bash

复制代码

composer require phpmailer/phpmailer

二:开始使用

php

复制代码

/**
     * @name: 发送邮件方法
     * @author: camellia
     * @date: 2022-01-19 
     * @param:  $email  string  发送给谁
     * @param:  $mail_title string  邮件标题
     * @param:  $mail_body  string  邮件内容
     * @return: $result bool    true/false
     */
    public function send_mail($email, $mail_title, $mail_body)
    {
        $mail = new PHPMailer(true);
        try {
            /*
             * 【一】服务器配置
             */
            $mail->CharSet ="UTF-8";                                         //设定邮件编码
            $mail->SMTPDebug = 0;                                            //调试模式输出:0 不输出,2 输出
            $mail->isSMTP();                                                 //使用SMTP
            $mail->Host = EMAIL_SERVER;                                     // SMTP服务器:以QQ为例
            $mail->SMTPAuth = true;                                          // 允许 SMTP 认证
            $mail->Username = SEND_EMAIL;                                       // SMTP用户名: 即发送方的邮箱
            $mail->Password = EMAIL_SECERT;                                 // SMTP授权码: 即发送方的邮箱授权码
            $mail->SMTPSecure = 'ssl';                                       // 允许 TLS 或者ssl协议
            $mail->Port = 465;//*/                                               // 服务器端口: 25 或者465 或者587 具体要看邮箱服务器支持
            /*
             * 【二】收件人
             */
            $mail->setFrom(SEND_EMAIL, "Mailer");              //发件人:邮箱与用户名
            $mail->addAddress($email, 'Mailer');     //收件人1:可添加多个收件人//*/
            //$mail->addAddress("收件人2的邮箱", '收件人2的用户名');                  //收件人2:可添加多个收件人
            //$mail->addReplyTo('xxxx@163.com', 'info');                          //回复的时候回复给哪个邮箱 建议和发件人一致
            //$mail->addCC('cc@example.com');                                     //抄送人
            //$mail->addBCC('bcc@example.com');                                   //密送人
            /*
             * 【三】发送附件
             */
             /*$mail->addAttachment('王庆国.mp4');           // 添加附件//*/
             //$mail->addAttachment('fzs.png', 'haha.png');     // 发送附件并且重命名
            /*
             * 【四】发送内容
             */
            $mail->isHTML(true);    //是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
            $mail->Subject = $mail_title;   //邮件标题
            $mail->Body    = $mail_body;      //邮件内容
            $mail->AltBody = '哈哈哈';      //邮件内容:如果邮件客户端不支持HTML则显示此内容//*/
            /*
             * 【五】发送请求
             */
            $mail->send();
            return true;//*/
        } 
        catch (Exception $e) 
        {
            return ['msg' => '邮件发送失败:'.$mail->ErrorInfo];
        }//*/
    }

我这里使用了try-catch,邮件发送失败,会返回报错信息。但是吧,他返回的报错信息你懂得~

三:开发时遇到的问题

邮件发送报错:

javascript

复制代码

SMTP Error: Could not authenticate.

解决方法:重置邮箱秘钥即可

有好的建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

目录
相关文章
laravel-发送邮件
laravel-发送邮件
198 0
|
网络协议 安全 网络安全
SMTP邮件服务器原理解析,php发送邮件,swoole发送邮件
简单邮件传输协议 (Simple Mail Transfer Protocol 简称 SMTP) 是一个相对简单的基于文本的协议。 在发送方(客户端)和接收方(服务器)间创建TCP连接之后 那么接下来就是一个合法的SMTP会话了。(SMTP会话的本质只是一个普通TCP,只是会话的消息按照规范组装发送) 在下面的对话中,所有客户端发送的都以C:作为前缀,所有服务器发送的都以S:作为前缀。
214 0
SMTP邮件服务器原理解析,php发送邮件,swoole发送邮件
|
PHP 数据安全/隐私保护
phpmailer/phpmailer 邮件发送,163SMTP设置
phpmailer/phpmailer 邮件发送,163SMTP设置
196 0
PHP:ThinkPHP使用PHPMailer发送html邮件
PHP:ThinkPHP使用PHPMailer发送html邮件
262 0
|
PHP 开发工具 数据安全/隐私保护
PHP使用phpmailer及SMTP服务实现邮件发送
第一种是PHP通过qq邮箱或者网易邮箱的SMTP服务器来实现邮件发送。 第二种是使用phpmailer来实现邮件发送。
694 0
PHP使用phpmailer及SMTP服务实现邮件发送
|
PHP 数据安全/隐私保护 Swift
Lumen / Laravel 使用网易邮箱 SMTP 发送邮件
Lumen / Laravel 使用网易邮箱 SMTP 发送邮件
454 0
WordPress SMTP发送邮件插件:WP SMTP
对于一个网站而言,发送邮件的功能是必不可少的,现在的主机一般都支持发送邮件,但是不同的主机由于函数限制或者某些其他原因,可能造成没办法正常发送邮件。这时候,我们可能就要借助第三方SMTP发送邮件。 对于使用WordPress建站的朋友来说,SMTP发送邮件的插件还是比较多的,功能大多类似,下面以WP SMTP为例讲解一下配置。
3433 0
|
网络安全 PHP 数据安全/隐私保护
PHPMailer发送邮件
PHPMailer是一个用于发送电子邮件的PHP类库,可以应用在激活邮件、找回密码等场景。本博文只要把PHPMailer结合到Tp框架。
9578 0
|
测试技术 PHP Apache
PHPMailer安装及简单实例(PHP发送邮件不用Smtp类)
PHPMailer安装及简单实例 [ 2006-11-29 14:37:49 | Author: songzi ] Font Size: Large | Medium | Small PHPMailer是一个用PHP写的用于邮件发送的类,有点像Jmail,相信很多新手和我一样,开始很茫然,不知道怎么安装,查找了一下,发现这方面的资料真的少之又少,一个文章被转载千百次,一搜索全是同一个内容,真不知道说什么好,其实打开安装里的readme就一目了然了,闲话少说,安装其实很简单。
1717 0