博客
关于我
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/

    你可能感兴趣的文章
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>
    nodejs包管理工具对比:npm、Yarn、cnpm、npx
    查看>>