博客
关于我
thinkphp-实现邮件发送
阅读量:607 次
发布时间:2019-03-11

本文共 1698 字,大约阅读时间需要 5 分钟。

###ThinkPHP5.0邮件发送配置与使用方法

通过以下步骤来实现ThinkPHP5.0环境下的邮件发送功能:

####一、前置配置

  • 开启必要服务

    • 登录163邮箱账号,依次开启SMTP服务、POP3服务、IMAP服务。
    • 请注意:客户端授权码只显示一次,必须妥善记录。
  • 下载并整理PHPMailer类库

    • 从官方下载PHPMailer压缩包,解压后将class.phpmailer.php和class.smtp.php分别放置在thinkphp5/extend/phpmailer目录下。
  • 安装OpenSSL扩展

    • 检查php_openssl.dll是否存在于F:\xampp\php\ext或其他扩展目录中,确认存在后开启 OpenSSL扩展。
    • 打开php.ini,查找extension=php_openssl.dll并去掉注释。
  • 命名空间申明

    • 打开thinkphp5/extend/phpmailer/class.phpmailer.php,于文件开头加入namespace phpmailer;。
  • ####二、邮件发送代码示例

    在ThinkPHP5的具体业务逻辑中,例如控制器中的index方法,加入以下代码:

    use phpmailer\phpmailer;class Index extends Controller {    public function index() {        $toemail = '收件人邮箱'; // 接收方邮箱地址        $mail = new PHPMailer();        $mail->isSMTP(); // SMTP协议传输        $mail->CharSet = "utf8"; // 设置utf8编码,避免乱码        $mail->Host = "smtp.163.com"; // 163邮箱SMTP服务器        $mail->SMTPAuth = true; // 启用身份验证        $mail->Username = "163邮箱用户名"; // 163邮箱账号        $mail->Password = "客户端授权密码"; // 客户端授权码        $mail->SMTPSecure = "ssl"; // 使用SSL协议        $mail->Port = 994; // 163邮箱SSL端口        $mail->setFrom("从账号@163.com", "邮件标题");        $mail->addAddress($toemail, "收件人显示名");        $mail->addReplyTo("从账号@163.com", "回复地址");                $mail->Subject = "邮件标题"; // 邮件主题        $mail->Body = "邮件正文内容"; // 邮件内容        // 如果需要添加附件,可以使用以下方式:        // $mail->addAttachment("附件路径");                if (!$mail->send()) {            echo "邮件发送失败:" . $mail->ErrorInfo;        } else {            echo "邮件发送成功.";        }    }}

    ####三、注意事项

  • 错误处理

    • 如果在$mail->send()时返回false,请检查ErrorInfo输出以确定具体错误类型。
  • 代码引用

    • 确保在使用PHPMailer前,使用use phpmailer\phpmailer;语句进行命名空间声明。
  • 常见问题

    • 如果出现SMTP Error: Data not accepted等错误,通常是邮件内容过滤问题。可以尝试更换部分关键词后重新发送。
  • 通过以上配置和代码示例,可以在ThinkPHP5.0环境下顺利实现邮件发送功能。

    转载地址:http://cdotz.baihongyu.com/

    你可能感兴趣的文章
    Python+Requests编码识别Bug
    查看>>
    python函数编写_[零基础学python]传说中的函数编写条规
    查看>>
    Python+selenium —— UI自动化之鼠标操作
    查看>>
    python函数注释,参数后面加冒号:,函数后面的箭头→是什么?
    查看>>
    Python+Selenium+Threading进行兼容性测试
    查看>>
    Python+selenium+unittest的GUI自动化框架实现
    查看>>
    python函数拟合不规则曲线_Python计算&绘图——曲线拟合问题(转)
    查看>>
    python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
    查看>>
    Python+Selenium之数据驱动测试的实现
    查看>>
    python函数定义与使用+返回值简解
    查看>>
    Python+Selenium登录
    查看>>
    Python日期时间模块
    查看>>
    Python函数合集:足足68个内置函数请收好!
    查看>>
    Python+Selenium自动化测试项目实战
    查看>>
    Python+Selenium自动化测试项目实战【建议收藏】
    查看>>
    Python+Selenium自动化测试:Page Object模式
    查看>>
    python+selenium进行cnblog的自动化登录测试
    查看>>
    Python函数只返回第一个值而不是数据框
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(上)
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(下)
    查看>>