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 相关文章推荐
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
检查php文件中是否含有bom的函数
May 31 PHP
PHP会话控制:Session与Cookie详解
Sep 27 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
zen_cart实现支付前生成订单的方法
May 06 PHP
php简单统计在线人数的方法
May 10 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 27 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
Dec 13 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中数组的分组排序实例
2014/06/01 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
node.js中的fs.fsyncSync方法使用说明
2014/12/15 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
使用layui实现树形结构的方法
2019/09/20 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
用Python实现随机森林算法的示例
2017/08/24 Python
python读取和保存视频文件
2018/04/16 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Python如何实现远程方法调用
2020/08/07 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
AJax面试题
2014/11/25 面试题
材料化学应届生求职信
2013/10/09 职场文书
酒店执行总经理岗位职责
2013/12/15 职场文书
竞职演讲稿范文
2014/01/11 职场文书
农业开发项目建议书
2014/05/16 职场文书
2015年教研组工作总结
2015/05/04 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis
Python超详细分步解析随机漫步
2022/03/17 Python