有时候我们需要获取WordPress评论者邮箱地址,然后发发祝福邮件,呵呵。但是如何快速导出呢?今天,倡萌就分享一下方法。
SQL命令法
1.登录PhpMyAdmin,点击进入你的数据库,然后点击【SQL】,输入以下命令,然后点击【执行】
SELECT DISTINCT comment_author_email FROM wp_comments
注意上面的【wp_comments】的前缀,如果你的不是wp_,将其修改为你的数据库前缀。
2.勾选【全部】,点击【导出】
3.选择【Texy! 文本】,不要勾选【结构】,勾选【数据】,另存为,执行即可
PHP工具法
估计有些朋友不会操作或者不能操作PhpMyAdmin,那你也可以使用来自 邪罗刹 的PHP程序,也可以很方便导出所有评论者的邮箱列表。
使用方法
把源代码保存为PHP文件,然后按照注释修改其中的以下代码。
1
2
3
4
5
|
$db_tab = 'wp_comments';//表名(一般不用修改)
$db_url = 'localhost'; //服务器地址(一般不用修改)
$db_user = ''; //用户名 $db_psw = ''; //密码
$db_base = 'wordpress';//数据库名
$au_mail = '4tyle8@gmail.com'; //自己的邮箱地址 |
程序源码
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
|
<?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:///TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://url=/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./">邪罗刹的菠萝阁</a> ? 评论者邮箱导出工具 Ver 1.10 - 中途请勿刷新 [ 帮助 ]
</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);
?> |
运行原理
先新建一个空表,然后将所有这个表中不包含的邮件地址添加入这个表。
包含了的就不添加了,嘎嘎,就这么简单,完成后输出。
输出好了以后就把这个表删除掉,就完工咯
特别提示
请务必保护访客的隐私,不要发布评论人的邮箱,更不要用于非法用途。
群发邮件的时候,最好使用QQ邮箱的【密送】和【分别发送】功能,以防被垃圾邮件者得到整个地址列表。
|