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

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

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

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

####一、前置配置

  • 开启必要服务

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

    • 从官方下载PHPMailer压缩包,解压后将class.phpmailer.phpclass.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/

    你可能感兴趣的文章
    Nvidia Cudatoolkit 与 Conda Cudatoolkit
    查看>>
    nvidia-htop 使用教程
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>
    OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
    查看>>
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
    查看>>
    OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
    查看>>
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    oauth2登录认证之SpringSecurity源码分析
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>