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 相关文章推荐
我的论坛源代码(二)
Oct 09 PHP
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
Dec 06 PHP
php中的一个中文字符串截取函数
Feb 14 PHP
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
Jan 13 PHP
ThinkPHP查询中的魔术方法简述
Jun 25 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 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 fsockopen写的HTTP下载的类
2007/02/22 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
vue父组件向子组件(props)传递数据的方法
2018/01/02 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
原生JS实现天气预报
2020/06/16 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
Python字符遍历的艺术
2008/09/06 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
python pygame实现球球大作战
2019/11/25 Python
python入门之基础语法学习笔记
2020/02/08 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
为什么相对PHP黑python的更少
2020/06/21 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
python 实现图片裁剪小工具
2021/02/02 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
商务英语专业自荐信
2013/10/14 职场文书
如何写你的创业计划书
2014/01/07 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
终止合同协议书
2014/04/17 职场文书
先进典型发言材料
2014/12/30 职场文书
Python进度条的使用
2021/05/17 Python
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android