THINKPHP3.2.3实现后台自定义邮箱发送配置

jerry thinkphp 2015年11月19日 收藏
THINKPHP3.2.3整合PHPMailer实现后台自定义配置邮箱配置信息,如邮件显示名、邮箱服务器地址、邮箱地址、邮箱密码、测试发送内容等,建议使用163邮箱,QQ邮箱容易被当做垃圾邮件屏蔽。
在做项目时经常会遇到使用邮箱发送邮件的情况,比如会员注册时发送注册码、发送注册成功提示信息,忘记密码时发送重置密码链接,有留言时及时发送邮件通知等,本文就讲解THINKPHP3.2.3实现后台自定义配置邮箱配置信息。先看效果图
配置界面

测试发送

邮箱接收测试信息

下面开始教程

一、数据库

首页要在数据库创建一个网站配置表,各个字段说明如下
  1. CREATE TABLE IF NOT EXISTS `go_config` (
  2.   `id` int(10) NOT NULL AUTO_INCREMENT,
  3.   `field` varchar(255) NOT NULL,
  4.   `title` varchar(255) NOT NULL,
  5.   `mark` varchar(255) NOT NULL,
  6.   `field_type` varchar(255) NOT NULL DEFAULT 'string',
  7.   `config_type` varchar(255) NOT NULL DEFAULT 'site',
  8.   `value` varchar(255) NOT NULL,
  9.   `is_system` tinyint(1) NOT NULL DEFAULT '0',
  10.   `is_required` tinyint(1) NOT NULL DEFAULT '0',
  11.   `sort` int(10) NOT NULL DEFAULT '1',
  12.   `status` tinyint(1) NOT NULL DEFAULT '1',
  13.   `add_time` datetime NOT NULL,
  14.   `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  15.   PRIMARY KEY (`id`),
  16.   UNIQUE KEY `field` (`field`)
  17. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=50 ;
二、引入PHPMailer组件
将PHPMailer放入Thinkphp框架的Library/Vendor/目录下

四、邮箱配置页面和保存配置信息控制器

模板放入Application/Admin/View/Config/config_email.html,控制器放入Application/Admin/Controller/ConfigController.class.php

五、添加发送邮件公共函数
在项目的application/Common/Common/function.php里添加发送邮件函数

四、使用方法
在控制器里直接调用sendEmail($tomail,$title,$content)函数即可发送邮件,其中$tomail表示要发送者的邮箱地址,$title表示邮件标题,$content表示发送的内容,支持html。

PS:为方便大家使用,特将所有涉及的代码打包上传,下载地址:http://www.gouguoyin.cn/php/37.html