分享

WordPress评论者邮箱地址导出方法

 飞往天际 2013-06-09

有时候我们需要获取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邮箱的【密送】和【分别发送】功能,以防被垃圾邮件者得到整个地址列表。

 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多