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加速的eAccelerator dll支持文件打包下载
Sep 30 PHP
PHP 读取文件的正确方法
Apr 29 PHP
php操作excel文件 基于phpexcel
Jul 02 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
thinkphp数据查询和遍历数组实例
Nov 28 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
Aug 17 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
详解PHP中的 input属性(隐藏 只读 限制)
Aug 14 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 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
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
JavaScript必知必会(二) null 和undefined
2016/06/08 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
JS设置手机验证码60s等待实现代码
2017/06/14 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
jQuery实现的手动拖动控制进度条效果示例【测试可用】
2018/04/18 jQuery
微信小程序开发的基本流程步骤
2019/01/31 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
基于elementUI竖向表格、和并列的案例
2020/10/26 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
在Linux下调试Python代码的各种方法
2015/04/17 Python
使用python实现rsa算法代码
2016/02/17 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
python中的for循环
2018/09/28 Python
python 接收处理外带的参数方法
2018/12/03 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
pyspark 随机森林的实现
2020/04/24 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
妇科医生自荐信
2013/11/05 职场文书
客服服务心得体会
2013/12/30 职场文书
美容院考勤制度
2014/01/30 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
共产党员承诺书
2014/03/25 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
排球赛新闻稿
2015/07/17 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
党校培训学习心得体会
2016/01/06 职场文书
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL
MySQL 5.7常见数据类型
2021/07/15 MySQL