基于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.内容轮循。所谓内容轮循就是将发送的内容碎片化,然后再排列组合,只要每次发送的内容不一样就行了,否则就进入垃圾箱了。
附上本人开发的邮件群发系统:
还有就是邮箱验证真实性这个功能,一定要做。否则你就会发现你发的一大半邮箱都是空的。
本人想把这个邮件群发系统开发的更完善一点,同时也想商用,奈何继续深化代码工作量挺大的,如果有志同道合的兄弟姐妹,欢迎来骚扰,可在评论出留下联系方式