基于thinkphp的邮件群发系统的设计
在网上找了很多资料,关于邮件群发系统的开发并没有一个非常好的方案,冥思苦相数日,研究了一套目前使用稍微有点效果的邮件群发系统,特地来分享一下,当然有过有更好的方案,欢迎大家一起讨论,或者私聊一下我。
首先说一下思路吧,邮件群发主要是避免被当做垃圾邮件和被邮件商拒之门外,另外还要保证到达率。到达率先不说,能发出去再优化(目前本人对到达率这块还没好的方案,希望有想法的伙伴前来探讨),群发要做到以下几点:1.IP轮循,2.邮箱账号轮循,3.邮件内容轮循。
1.ip轮循。关于ip轮循网上有很多方案,比如ip代理、宽带拨号。代理ip这种方案本人测试过,收到的邮件显示的还是真实的ip,所以被我排除在外(可能是技术不到位),宽带拨号,因为是家庭使用,重复拨号意味着家里断网,容易导致家庭不和,也排除在外。最后在家里找了一个旧手机,手机切换飞行模式ip就会发生改变,然后用电脑上手机的网(手机的网络共享功能),之后用PHP代码向手机发送切换飞行模式的命令,发送完成后使用让PHP不断的访问一个获取ip的网页,直到获取到ip。仅分享思路,设计到的代码网上都可以找到。
2.账号轮循。发送时我使用的是163邮箱群发,QQ邮箱群发貌似很麻烦,不可能注册那么多的账号。切记不要在网上买163邮箱,自己注册,多找一些身边的亲戚朋友注册一下,一个号码能注册好几个。注册上100个左右。轮循很好办,设计一个字段num,将数据库的账号进行排序,按照id,num。每次只获得num最小的那个基本上就可以了,当然有点弊端的,就不细说了。
3.内容轮循。所谓内容轮循就是将发送的内容碎片化,然后再排列组合,只要每次发送的内容不一样就行了,否则就进入垃圾箱了。
附上本人开发的邮件群发系统:

还有就是邮箱验证真实性这个功能,一定要做。否则你就会发现你发的一大半邮箱都是空的。
本人想把这个邮件群发系统开发的更完善一点,同时也想商用,奈何继续深化代码工作量挺大的,如果有志同道合的兄弟姐妹,欢迎来骚扰,可在评论出留下联系方式
基于thinkphp的邮件群发系统的设计的更多相关文章
- 通什翡翠商城大站协议邮件群发系统日发20-30万封不打码不换ip不需发件箱100%进收件箱
用一种新的技术思维去群发邮件一种不用换IP,不需要任何发件箱的邮件群发方式一种不需要验证码,不需要**代码变量的邮件群发方式即使需要验证码也能全自动识别验证码的超级智能软件教你最核心的邮件群发思维和软 ...
- 基于Redis的限流系统的设计
本文讲述基于Redis的限流系统的设计,主要会谈及限流系统中限流策略这个功能的设计:在实现方面,算法使用的是令牌桶算法来,访问Redis使用lua脚本. 1.概念 In computer netw ...
- 基于角色访问控制的OA系统的设计与实现
摘要:随着电子政务的快速发展和全面普及,办公自动化(OA)系统的安全性显得越来越重要.对基于Web 的B/S 结构的OA 系统结构和安全需求进行了分析,为了增强用户身份鉴别和授权控制的安全性,分析了基 ...
- 毕业设计5:基于MicroPython的智能火灾报警器系统的设计与实现
随着现代家庭用火.用电量的增加,家庭火灾发生的频率越来越高.家里一旦发生火灾,如果出现扑救不及时.灭火器材缺乏.以及在场人惊慌失措.逃生迟缓等不利情况下,最终就会导致产生重大的生命财产的损失. 消防部 ...
- 基于ssh开发彩票购买系统的设计与实现毕业设计
开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MYSQL数据库 运行效果图: 源码及原文地址:http://javadao.xyz/forum.php?mod ...
- 懒人邮件群发日发50-100万封不打码不换IP不需发件箱大站协议系统营销软件100%进收件箱
用一种新的技术思维去群发邮件 一种不用换IP,不需要任何发件箱的邮件群发方式 一种不需要验证码,不需要**代码变量的邮件群发方式 即使需要验证码也能全自动识别验证码的超级智能软件 教你最核心的邮件群发 ...
- 基于Web在线考试系统的设计与实现
这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973 ...
- EDM邮件群发十大技巧提升邮件群发效果
有很多人抱怨现在邮件群发没有什么效果,其实不然,每一种推广方式都有他的优势,没有看到效果说明你没有掌握好方法.个人觉得EDM邮件群发的优势在于传播速度快.不受地域限制.不受时间限制.邮件内容能够多元化 ...
- 基于JSP的学术交流论坛系统的设计与实现
版权声明:本文为[博主](https://zhangkn.github.io)原创文章.未经博主同意不得转载. https://creativecommons.org/licenses/by-nc-s ...
随机推荐
- @Controller 和 @RestController 的区别
@Controller和@RestController的区别? 官方文档:@RestController is a stereotype annotation that combines @Respo ...
- String类与StringBuffer类
String类与StringBuffer类 一.String类和StringBuffer类的区别 String类是不可变类,新建的对象为不可变对象(String类的内容和长度是固定的),一旦被创建 ...
- centos6 初次安装成功,未显示eth0网卡的信息
https://www.cnblogs.com/yecao8888/p/6364830.html
- 再次实践 MySQL chart【转】
学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获. chart 安装前的准备 作为准备工作,安装之前需要先清楚 chart 的使用方法.这些信息通常记 ...
- Day6-T1
原题目 Describe:模拟大水题 code: #include<bits/stdc++.h> #define INF 214748364 #define eps 1e-9 #defin ...
- 使用gulp 进行ES6开发
使用gulp 进行ES6开发 一.新建项目 项目结构如下: /app -- /js -- /css /dist -- /js -- /css -- index.html gulpfile.js 我们的 ...
- Koa微信公众号开发
微信开发者模式开启需要服务器域名合法并且把接口配置好,这个接口是接通的关键,接通后微信后台的菜单设置功能,客服功能会失效,需要开发者自定义菜单和智能客服界面,并且接通后可以调用微信网页内部的定位分享等 ...
- 006、MySQL取当前系统时间
#取当前时间文本格式 SELECT curdate( ) , now( ); 效果如下图: 不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:3824772 ...
- Python中eval与exec用法的区别
Python中eval,exec这两个函数有着相似的输入参数类型和执行功能,因此在用法上经常出现混淆,以至经常用错,程序易抛出错误.下面主要通过这两个函数的语法来阐述区别,并用例子来进一步说明. 首先 ...
- C# Winform使用线程,委托定时更新界面UI控件,解决界面卡顿问题(转载)
一.定时执行主界面控件值 1.利用定时器 Thread t = null; private void InitTSJK() { t = new Thread(new ThreadStart(GetDa ...