PHP的邮件群发系统phplist配置方法详细总结


Posted in PHP onMarch 30, 2016

本文实例讲述了PHP的邮件群发系统phplist配置方法。分享给大家供大家参考,具体如下:

phplist是一个十分不错的邮件群发系统,让我们可以很方便地群发电子杂志、小广告(^_^)等。

最近帮一个老师搭建邮件群发系统,用的就是phplist。但是网上关于搭建该系统的资料很零碎,需要费些功夫组合起来才行。而既然我已经做了这个工作,就拿出来分享吧,希望对大家有用。(另外,phplist或是phpmailer通过gmail发送邮件比通过其他邮箱发送还要麻烦一些,如果你需要通过gmail发送,在看完这篇文章讲的基本配置后,请参考《phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法》来进行进一步的配置)

1.下载用最新版phplist(我用的是phplist-2.10.12)。

2.将public_html下的lists目录放到自己的web目录下(服务器上)。

3.修改lists/config/config.php,在其20行左右处修改数据库相关信息,然后在MySQL中建立与$database_name同名的空数据库(建议改数据库连接校对为utf8_general_ci,防止中文乱码)。

4.通过浏览器访问服务器上/lists/admin/,此时会提示数据库未初始化,点击“initialise database”链接,进行数据库初始化。初始化时可能会有一张表(user_blacklist_data)出现初始化错误,那张表是关于用户黑名单的,我不需要此功能,不影响使用也就不用管这个错误了。但如果你不能容忍这个错误,我这里也有一个解决方案:找到lists/admin/structure.php中的

"user_blacklist" => array(
 "email" => array("varchar(255) not null unique","Email"),
 "added" => array("datetime","When added to blacklist"),
 "index_1" => array("emailidx (email)",""),
)

修改为

"user_blacklist" => array(
 "email" => array("varchar(233) not null unique","Email"),
 "added" => array("datetime","When added to blacklist"),
 "index_1" => array("emailidx (email)",""),
)

drop掉数据库重建,并重新初始化数据库就好了。

5.下面还要进行一些基本配置:

仍然是lists/config/config.php,在190行左右处找到

define("TEST", 1);

修改为

define("TEST", 0);

因为只有非测试模式才能真正发送邮件。

然后在650行左右处找到

define("PHPMAILERHOST",'');

此为smtp服务器名,我用的是sohu的邮箱,所以改为

define("PHPMAILERHOST",'smtp.sohu.com');

往下几行可以找到

#$phpmailer_smtpuser = 'smtpuser';
#$phpmailer_smtppassword = 'smtppassword';

将其前面用于注释的“#”去掉,并填写自己发送邮件时所使用的用户名和密码,例如我会将其改为

$phpmailer_smtpuser = 'myname@sohu.com';
$phpmailer_smtppassword = 'mypassword';

如果你使用的不是gmail邮箱的话,那么应该是可以开始发送邮件了(我测试过的有sohu邮箱、qq邮箱、大学学校邮箱)——但需要注意的一点是,在发送测试邮件时目标地址必须是已经存在于你的user列表中的email地址,否则发送会失败。

如果你使用的是gmail,请参见我的另外一篇文章《phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法》。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
提升PHP速度全攻略
Oct 09 PHP
PHP pathinfo()获得文件的路径、名称等信息说明
Sep 13 PHP
PHP可变函数的使用详解
Jun 14 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 PHP
Laravel路由设定和子路由设定实例分析
Mar 30 #PHP
PHP的Yii框架中过滤器相关的使用总结
Mar 29 #PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 #PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 #PHP
PHP实现可自定义样式的分页类
Mar 29 #PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 #PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
Mar 29 #PHP
You might like
php FPDF类库应用实现代码
2009/03/20 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
form自动提交实例讲解
2017/07/10 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python函数形参用法实例分析
2015/08/04 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
python爬虫请求头设置代码
2020/07/28 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
AmazeUI折叠式卡片布局,整合内容列表、表格组件实现
2020/08/20 HTML / CSS
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
会计主管岗位职责
2014/01/03 职场文书
群众路线个人对照检查材料
2014/09/23 职场文书
升学宴祝酒词
2015/08/11 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
Ruby处理YAML和json数据
2022/04/18 Ruby