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-fpm 参数的深入理解
Jun 03 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
用PHP和Shell写Hadoop的MapReduce程序
Apr 15 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
php简单截取字符串代码示例
Oct 19 PHP
php中strtotime函数性能分析
Nov 20 PHP
laravel 事件/监听器实例代码
Apr 12 PHP
php查看一个变量的占用内存的实例代码
Mar 29 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实现mysql封装类示例
2014/05/07 PHP
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
创建你的第一个AngularJS应用的方法
2015/06/16 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
python实现控制台打印的方法
2019/01/12 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
python自动化unittest yaml使用过程解析
2020/02/03 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
python 下载文件的几种方法汇总
2021/01/06 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
单位介绍信范文
2014/01/18 职场文书
校长先进事迹材料
2014/02/01 职场文书
《难忘的泼水节》教学反思
2014/02/27 职场文书
软件售后服务承诺书
2014/05/21 职场文书
设计大赛策划方案
2014/06/13 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
岗位聘任报告
2015/03/02 职场文书
超强台风观后感
2015/06/09 职场文书
工作一年自我鉴定
2019/06/20 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL