制作WP评论者邮件地址导出程序

> 呵呵,新年快到了,因为圣诞节时候小邪给大家的博客全部都发去了圣诞祝福。
> 所以新年祝福小邪就换个方式,发新年贺卡邮件给大家,(*^__^*) 嘻嘻。

> 小邪写了一个小程序,可以导出所有评论者的邮箱列表,然后就可以发贺卡咯。
> 邮箱不要填在收件人那里,要填在密件人,以防被垃圾邮件者得到整个地址列表。

1. 为什么要填在密件人处:

> 如果邮箱填在收件人处,那么每个人都能看到你的收件人列表的。

> 小邪不是担心大家做坏事,而是担心一不小心给垃圾邮件发送者拿去。
> 那样他就开心了。因为可能有的童鞋填错邮箱之类的。
> 那么地址列表就会跑到未知的地方,就杯具鸟。

> 最主要的是有的邮件客户端会搞不清楚发件人的,他要是直接在客户端点回复。
> 那么回复邮件的收件人却是所有收件人加上发件人,很诡异的说。

2. 使用方法:

> 把源代码保存为PHP文件,然后按照注释修改其中的以下代码。

1
2
3
4
5
6
$db_tab = 'wp_comments';//表名(一般不用修改)
$db_url = 'localhost'; //服务器地址(一般不用修改)
$db_user = ''; //用户名
$db_psw = ''; //密码
$db_base = 'wordpress';//数据库名
$au_mail = '4tyle8@gmail.com'; //自己的邮箱地址

3. 源代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
 
$db_url = 'localhost'; //服务器地址,一般都是这个
$db_user = ''; //用户名
$db_psw = ''; //密码
$db_base = 'wordpress';//数据库名
$db_tab = 'wp_comments';//表名
$au_mail = '4tyle8@gmail.com'; //自己的邮箱地址
 
$db = mysql_connect($db_url,$db_user,$db_psw);
mysql_select_db($db_base,$db);
 
$sql = "CREATE TABLE $db_base.`ev_mails` (
	`id` INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	`mail` TEXT NOT NULL,
	`count` INT(8) NOT NULL
	) ENGINE = MyISAM;";
mysql_query($sql,$db);
$db_list = 'comment_author_email';
 
function clear_table() {
	$num = count_read();
	global $db_tab,$db;
	$sql = "DELETE FROM `ev_mails` WHERE count>=0";
	mysql_query($sql,$db);
	return $num;
}
 
function count_read() {
	global $db_tab;
	$sql = "SELECT * FROM $db_tab";
	$query = mysql_query($sql);
	$num = mysql_num_rows($query);
	return $num;
}
 
function count_evread() {
	global $db_tab;
	$sql = "SELECT * FROM `ev_mails`";
	$query = mysql_query($sql);
	$num = mysql_num_rows($query);
	return $num;
}
 
clear_table();
 
$end = count_read();
 
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
	"http://w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
	<html xmlns="http://url=w3.org/1999/xhtml"> 
	<head> 
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>邪罗刹的工具箱</title>
	<style> 
	#main{margin:0 auto;text-align:center;width:650px;color:#777;
	background-color:#eef2fa;border:1px solid #d8e3e8;margin-top:30px;}
	#main .content{text-align:left;padding:30px;}a{color:#777;
	text-decoration:none;}a:hover{color:#444;text-decoration:none;
	}p{padding:0;margin:0;}
	</style>
	</head><body>
	<div id="main" style="height:1.5em;color:#777;margin-top:30px;
	margin-bottom:-20px;padding:10px 0;"> 
	<p style="float:left;padding:0px 20px;"> 
	<a target="_blank" href="http://www.evlos.org/">邪罗刹的菠萝阁</a> 
	» 评论者邮箱导出工具 Ver 1.10 - 中途请勿刷新 [<a target="_blank" 
	href="http://www.evlos.org/2009/12/29/wp-commenters-mails-outputer/">
	帮助</a> ]
	</p></div><div id="main"><div class="content">';
 
for ($i=1;$i<=$end;$i++) {
	$sql = mysql_query("SELECT * FROM $db_tab WHERE comment_ID = $i");
	$ary = mysql_fetch_array($sql);
	if ($ary[$db_list]<>''&&$ary[$db_list]<>$au_mail) {
		$get_mail = $ary[$db_list];
		$sqla = mysql_query("SELECT * FROM ev_mails WHERE mail='".$get_mail."'");
		$arya = mysql_fetch_array($sqla);
		if ($arya['mail'] == $ary[$db_list]) {
			$acount = $arya['count'] + 1;
			$aid = $arya['id'];
			mysql_query("UPDATE ev_mails SET count = $acount WHERE id = $aid");
		}
		else {
			$numoo = count_evread() + 1;
			$sqlb = mysql_query("INSERT INTO ev_mails (id, mail, count)
				VALUES ($numoo, '$ary[$db_list]', 1)");
		}
		//echo $num;
	}
}
 
for ($i=1;$i<=count_evread();$i++) {
	$sql = mysql_query("SELECT * FROM ev_mails WHERE id = $i");
	$ary = mysql_fetch_array($sql);
	echo $ary['mail'].',';
	if ($i/3 == (int)($i/3)) { echo '<br />'; }
}
echo '</div><p style="float:left;width:100%;height:30px;">
	</p></body></html>';
 
$sql = "DROP TABLE `ev_mails`";
mysql_query($sql,$db);
 
mysql_close($db);
 
?>

4. 运行原理:

> 先新建一个空表,然后将所有这个表中不包含的邮件地址添加入这个表。
> 包含了的就不添加了,嘎嘎,就这么简单,完成后输出。
> 输出好了以后就把这个表删除掉,就完工咯,嘿嘿嘿 O(∩_∩)O。

> P.s. 好累,嘎嘎,30分钟赶出来的程序,最近时间紧,小邪好可怜 :cry:

Leave a comment

121 Comments.

  1. fatkun 坐沙发!#1

    沙发 :biggrin:

    • @fatkun , 呵呵,我修改了下就好了呢 ~
      不好意思喔,希望你能理解小邪的怪癖 ~

    • @fatkun , Orz ... 呵呵 ~ 我用IE6检查下,真诡异 ~
      ----------
      小邪有时候有怪癖 ~
      所以被聘请为非正常人研究中心的主任 ~
      偷偷告诉你,非正常人研究中心没病人的 ~
      那儿的人都是自个儿研究自个儿 ~
      再偷偷告诉你一个天大的消息,619现在是裸奔帝国分部的部长 ~ :razz:

  2. keon 坐板凳!#2

    直接在PHPmyadmin里
    SELECT DISTINCT comment_author_email
    FROM wp_comments
    再导出~~~
    不过一定要BCC~~我就犯错了

  3. Mars 躺地板!#3

    不错,很实用。

  4. 阿士 天花板!#4

    收下了,好好用用

  5. 娱乐博客 下水道!#5

    你太强悍了,服了。

  6. 额,星夜的php直接显示列表了。

    PS:发信的时候分2次发的,第一次密送,第二次一不小心忘记了(因为中途换了个邮箱,需要发的太多了)。。。。。。。。。。。。。于是乎悲剧了。

  7. 自己写个ZBLOG的玩玩去。用什么邮箱发的?自己的域名吗

  8. 这是不是意味着两天后可以收到你的祝福啊,哈哈,那我 在这里先提前祝你元旦快乐了!

  9. 最好是有个SMTP发信的代码就更完美了

    • @万戈 , 呵呵,因为考虑到非主要的邮件服务器(域名后缀的邮件地址)大量发邮件 ~
      (主要的服务器是 Gmail 163 qq 等等等等)~
      会被列入服务商的黑名单 ~
      所以没有写呢,用主要的服务商了群发邮件比较好 ~ :smile:

  10. 什么PHP SQL 最讨厌了:neutral:

  11. 呵呵,期待小邪的祝福啦 :)

  12. 哈,很好~我明天也来个制作Z-Blog评论者邮件地址导出程序!

  13. 最近大家不是忙着博客年终总结就是忙着群发祝福邮件,为了大家邮箱的清净,我就不发了。。。

  14. 哇赛,小心被当成垃圾邮件

  15. 依然强大,自卑啊。。。 :cry:

    • @Nox , 呵呵,各有所长嘛,小邪这个宅男肯定有比不过你的地方 ~ :razz:

      • @邪 罗刹,
        你比不过我的地方,肯定都是邪恶的。。。
        所以,根本没有可比性啊。差距太大。我要努力学习啊。
        但是没有方向,没有目标,也不知道该学习啥。。

    • @Nox , 不要妄自菲薄喔,小邪也是努力学习呢 ~
      你一定能发现自己的特长的 ~
      找找能够让你不知不觉投入地去做的事吧 ~
      早点睡喔,小邪先睡了呢,晚安 ~ :smile:

  16. 好家伙,我说这么这么多人给我发邮件呢。哈哈,拿来用了哈哈

  17. 不是常说‘邮箱,我们会替您保密’的吗?

  18. 专业对口太重要了! :mrgreen:

  19. 谢谢分享啦。。。

  20. 这段时间已经收到N多个祝福邮件了 哎

  21. 我已经接受到有祝贺邮件了
    但想了想觉得现在这环境节日短信就跟垃圾短信一样。
    那节日邮件会不会也跟垃圾邮件一样招人厌恶。。

  22. 能不能搞个在后台就给所有评论者群发邮件的插件啊?

  23. 暂时用不到,先来占个位

  24. 兄弟不好意思

    我换主题 换主机 换域名 辞了现在工作 下星期要到新的单位上班

    差点没把人换了

    来晚了 抱歉 :cry:

  25. 哈 逛着逛着就跑到你的博客来了 很不错~~
    这个代码也很有创意~~赞~

  26. 唉!我就收到一个全是收件人的邮箱!下面就一句祝福的话!于是乎,上面所有的邮箱都被暴露了!

  27. 不嫌累的邪哥就是不嫌累,为啥还新键表呢,直接读出存变量里完事HMTL输出变量不行呀

    • @九站 , 闲的蛋疼 ~
      嘎嘎,实际上原来的打算是表另有用处,比如做一些分析之类的,结果没时间写那部分功能了 ~

  28. 呵呵,有点期待你的邮件了也,不知有没有份。

  29. 你真是技术出身啊,太牛了这个。

  30. 不错呢,之前我还是从数据库导出的。。

  31. zb的能不能用?

  32. 好。我去试试!

  33. 高手就是高手,我膜拜一下!!

  34. 高举分享大旗,现在正需要这个

  35. 我好像还用不到,呵呵

  36. 来看看小邪有没有更新,嘿嘿。。 :cool:

  37. 膜拜下代码帝...

  38. 不晓得怎么用= =放在博客上?

  39. 网络砖家搞活动,过来看看吧!

  40. 套用楼上的一句话:有一个代码帝出世。

    对了。我的博客独立了。新地址是:http://xvsj.c.la/

  41. 你这个程序太复杂了,我17行代码就搞定了你所有的功能,你去WPG论坛“有点技术”那里找找看看。 :razz:

  42. 挺好.. 貌似复杂了点..哈哈
    不知为什么要这么复杂..

  43. 好邪恶的程序,最近收到了好多这种邮件,汗……

  44. 好东西,我说怎么这么多贺年邮件呢

  45. 哇,PHP强人啊
    我当初找不到方法,就直接从数据库SQL调的数据
    囧~

  46. 你真是厉害~ 佩服的不行~ :rolleyes:

  47. 强人啊 :rolleyes:

  48. 如果被某些邪恶的博主掌握

    直接导出所有评论者的email

    拿去卖钱,拿去发垃圾邮件

    哦哦哦哦哦哦哦哦哦哦

    惨了!

Leave a Reply

:evil: :razz: :wink: :rolleyes: :redface: :cry: :biggrin: :lol: :idea: :mrgreen: :mad: :exclaim: more »

[ Ctrl + Enter ]