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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
教你如何把一篇文章按要求分段
Oct 09 PHP
php 常用类汇总 推荐收藏
May 13 PHP
php session安全问题分析
Jun 24 PHP
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
PHP技术开发微信公众平台
Jul 22 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
PHP数组与字符串互相转换实例
May 05 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
Javascript 篱式条件判断
2008/08/22 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
Python的gevent框架的入门教程
2015/04/29 Python
Python实现队列的方法
2015/05/26 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
python 实现控制鼠标键盘
2020/11/27 Python
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
AJAX都有哪些有点和缺点
2012/11/03 面试题
团代会主持词
2014/04/02 职场文书
环境整治工作方案
2014/05/18 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
代办社保委托书范文
2014/10/06 职场文书
绵山导游词
2015/02/05 职场文书
公司周年庆典致辞
2015/07/30 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python