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模拟asp中的XmlHttpRequest实现http请求的代码
Mar 24 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
Jun 25 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
php阿拉伯数字转中文人民币大写
Dec 21 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
Jun 10 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
Aug 17 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
php生成微信红包数组的方法
Sep 05 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 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
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
js取值中form.all和不加all的区别介绍
2014/01/20 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
使用Selenium破解新浪微博的四宫格验证码
2018/10/19 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
python实现按行分割文件
2019/07/22 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
Kathmandu英国网站:新西兰户外运动品牌
2017/03/27 全球购物
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
Java基础面试题
2012/11/02 面试题
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
经典导游欢迎词
2015/01/26 职场文书
晚会闭幕词
2015/01/28 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
52条SQL语句教你性能优化
2021/05/25 MySQL
Django实现drf搜索过滤和排序过滤
2021/06/21 Python