同步 WordPress 博客日志到 Qzone
2009年12月04日
我发现我是一个同步控,我把博客日志同步到雷猴,同步到嘀咕,然后同步到新浪微博,
好吧,今天就讲解下如何同步 WordPress 博客日志到 Qzone。
总所周知,QQ 的服务是不会有 API 的,但是如何同步到 Qzone 呢?这里的过程有点曲折,由于 Qzone 支持通过你的 QQ 邮箱发布,而 QQ 邮箱有支持 SMTP 协议,而 WordPress 所包含的 PHPMailer 类可以使用 SMTP 发邮件,所以我们可以通过使用 PHPMailer 同步 WordPress 博客日志到 Qzone。
首先我们可以通过下面的函数登录 QQ 邮箱并给 Qzone 发邮件(你需要首先打开 QQ 邮箱的 SMTP 功能)。
function smtp_mailer_qqmail($subject,$body){ $qq_number = ''; $qq_password = ''; if ( !class_exists('PHPMailer') ) { require_once ABSPATH . WPINC . '/class-phpmailer.php'; require_once ABSPATH . WPINC . '/class-smtp.php'; } $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Mailer = "smtp"; $mail->CharSet = 'utf-8'; $mail->Encoding = 'base64'; $mail->IsHTML(true); $mail->SMTPAuth = true; $mail->Host = "smtp.qq.com"; $mail->Username = $qq_number."@qq.com"; $mail->Password = $qq_password; $mail->From = $qq_number."@qq.com"; $mail->FromName = $qq_number; $mail->AddAddress($qq_number."@qzone.qq.com"); $mail->Subject = $subject; $mail->Body = $body; $mail->Send(); }
其中需要把 $qq_number 和 $qq_password 设置成你的 QQ 号码和密码。
然后我们就可以通过 publish_post 这个 WordPress Hook,当发布日志的时候同步吧日志标题和内容同步到 Qzone。
add_action('publish_post', 'publish_post_2_qzone', 0); function publish_post_2_qzone($post_ID){ $qzone = get_post_meta($post_ID, 'qzone', true); if($qzone) return; $post_title = trim($_POST['post_title']); $post_except = trim($_POST['post_except']); if($post_except){ $post_content = $post_except; }else{ $post_content = mb_substr(strip_tags(trim($_POST['post_content'])),0,220); } $post_content= $post_content.'<br />查看全文:<a href="'.get_permalink($post_ID).'">'.get_permalink($post_ID).'</a>'; smtp_mailer_qqmail($post_title,$post_content); add_post_meta($post_ID, 'qzone', 'true', true); }
总结下:
- 打开 QQ 邮箱的 SMTP 功能。
- 下载同步到 Qzone 插件:WP2Qzone。
- 上传到 WordPress 插件目录中下并激活。
- 把插件中的
$qq_number和$qq_password设置成你的 QQ 号码和密码。 - 这样只要你一发布日志就会自动更新到 Qzone 中。
65 条评论 添加你的评论 →

1. 冰剑◎夜猫 | 2009:12:05 - 00:06:27 | #
沙发一个。。
2. Bovoy | 2009:12:05 - 00:08:05 | #
我也是同步控
3. bolo | 2009:12:05 - 00:16:28 | #
囧死。。。。刚关闭了Qzone,不过我博客很少写个人的生活就算了
4. bolo | 2009:12:05 - 00:22:09 | #
原来是通过QQ邮箱发表日志的功能实现的,Qzone始终还是个封闭的博客,唯一好的地方只有开放了RSS
5. 4nt1-prc | 2009:12:05 - 01:03:38 | #
好像还不错的样子….格式什么的可以保存否???
6. QiuXianli | 2009:12:05 - 01:08:30 | #
试了一下,好像不行啊
7. Denis | 2009:12:05 - 02:54:53 | #
我更新了下,你下载下插件就可以了!
8. Louis | 2009:12:05 - 03:58:34 | #
我的QQ空间上面都是垃圾信息
9. 孤夜狂狼 | 2009:12:05 - 04:24:48 | #
这个太强大了~ 必须支持一下~ 谢谢啊~
10. blogger | 2009:12:05 - 05:54:38 | #
是不是$qq_number 和 $qq_password 全部都改为QQ号密码?
11. Denis | 2009:12:05 - 20:29:10 | #
函数开始的定义的地方设置下!
12. 雨中漫步 | 2009:12:05 - 08:33:15 | #
一改号码就提示这个
Parse error: syntax error, unexpected T_DNUMBER, expecting T_VARIABLE or ‘$’ in /usr/wordpress/wp-content/plugins/wp2qzone/wp2qzone.php on line 27
13. Denis | 2009:12:05 - 20:29:35 | #
修改是吧号码放到引号中间!
14. 雨中漫步 | 2009:12:07 - 12:29:31 | #
我设置了一下又提示第29行错误。我不懂php,所以能麻烦您举个例子如何设置吗?加入QQ号12345,密码是6789,该如何设置
15. Bovoy | 2009:12:05 - 10:39:09 | #
用这个代码的方法可以同步LIVE WRITER发的日志吗?
16. criss | 2009:12:05 - 10:54:11 | #
这个好啊! 之前已经有同步到live space了 这下QQ空间也有了!
赞一个
17. alswl | 2009:12:05 - 11:10:51 | #
呃,我不是同步控
不过用smtp同步,想法学习了
18. 夏影残雪 | 2009:12:05 - 12:47:25 | #
可不可以选择分类同步到QZONE呢
19. 剑宇工作室 | 2009:12:05 - 13:56:47 | #
你真的太厉害了
20. SATURN | 2009:12:05 - 18:46:28 | #
受教了,我都快放弃QZONE了
21. 左岸 | 2009:12:05 - 20:15:21 | #
这不是产生了很多的重复内容吗?
当然只同步文章链接是可以的。
22. Zenoven | 2009:12:05 - 20:18:11 | #
好东西啊。。。收藏了,没想到这么多都可以同步的
23. TTwan | 2009:12:06 - 03:08:21 | #
安装完插件,总是出现这样的页面,怎么处理呢?
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.qq.com:25 (Connection refused) in /home2/ttwancom/public_html/wp-includes/class-smtp.php on line 122
Warning: Cannot modify header information – headers already sent by (output started at /home2/ttwancom/public_html/wp-includes/class-smtp.php:122) in /home2/ttwancom/public_html/wp-includes/pluggable.php on line 865
24. niuhuifei | 2009:12:06 - 20:41:10 | #
“Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.qq.com:25 (Connection refused) in /home2/ttwancom/public_html/wp-includes/class-smtp.php on line 122
Warning: Cannot modify header information – headers already sent by (output started at /home2/ttwancom/public_html/wp-includes/class-smtp.php:122) in /home2/ttwancom/public_html/wp-includes/pluggable.php on line 865″
同问这个问题。
25. Denis | 2009:12:07 - 00:32:26 | #
你的服务器连不上 QQ Mail!
26. ZHealoT | 2009:12:07 - 14:27:30 | #
我试过也是上面这种提示
那是什么原因联不上QQ mail呢?
27. Denis | 2009:12:07 - 16:39:45 | #
暂时未知!
28. 夏影残雪 | 2009:12:07 - 23:59:27 | #
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.qq.com:25 (Connection timed out) in /home/queend/public_html/wp-includes/class-smtp.php on line 122
Warning: Cannot modify header information – headers already sent by (output started at /home/queend/public_html/wp-includes/class-smtp.php:122) in /home/queend/public_html/wp-includes/pluggable.php on line 865
29. 柱子 | 2010:03:02 - 10:40:50 | #
我也一样,出现这种问题!
30. 王志斌 | 2009:12:08 - 11:00:28 | #
是在你文中的代码第二行第三行添加号码和密码呢?还是代码中所有的$qq_number 和$qq_password都需要替换?还是直接举例子好点,代码盲啊。只改了第二和三行的试了下无效
31. Dreamcolor | 2009:12:08 - 16:13:06 | #
鱼鱼总能带来各种变态的东西。我反正是死守 WP 这一小旮瘩地儿了!
32. Jandy | 2009:12:08 - 19:52:29 | #
再加点料,连MSN Live Space一起同步了吧。3q
33. loren | 2009:12:09 - 19:09:05 | #
这个到底是同步标题+链接,还是同步所有的内容到QZONE
34. Jackson | 2009:12:14 - 11:40:08 | #
水煮鱼还是把“Sign in with Friend connect”弄出来··我喜欢用Google登录来留言··逼着我注册一个账户··搞得有点强迫性了。
这个插件很好··我想也应该可以同步到N个qq,这个还得请水煮鱼做个内容追加··
35. 剑鱼 | 2009:12:14 - 16:29:24 | #
不会吧,我现在就是用 Google Friend Connect 登录的,可以的啊。
36. Benben | 2009:12:14 - 21:54:35 | #
呵呵··我现在确实用Google登陆上去了··不过早上确实尝试过N多次都没登陆成功··
就算我用Opera··我想也不至于的吧··
37. Jackson | 2009:12:15 - 07:47:28 | #
呵呵“情况搞清楚了,确实是我用Opera的原因.Opera里面找不到Google Friends的登陆入口,它把登陆入口放到里面了,弄了N多次还是没成功“
38. Jackson | 2009:12:15 - 07:33:09 | #
上次的留言不好意思了“我没有把情况弄清楚“不过昨晚的尝试我确实发现了一个问题——IE7跟Opera里面水煮鱼的留言板布局显示是不一样的“在opera里面根本找到不到Google Friends登陆的入口“不知道是不是因为对css的支持不一样造成的“
当我在注册用户的时候,却发现Google Friends的登陆入口跑到那个地方去了“我以为是水煮鱼挪过去的“
不过我试过几次也没能登陆成功“
39. yelia | 2009:12:14 - 18:59:06 | #
能不能自动截断到more标签,或者选择全文还是部分同步?目前的截断方式不合理,断得没头没脑的~
PS:如果标签也能够同步就更好了
40. Denis | 2009:12:14 - 20:07:35 | #
代码都提供了,可以自己修改嘛!
41. yelia | 2009:12:18 - 23:53:38 | #
好惭愧,不懂php编程。。。苦恼~
42. 星网 | 2009:12:18 - 16:06:25 | #
还是不会~~郁闷死!
43. 錯じ☆ve涅槃 | 2009:12:19 - 00:16:07 | #
我怎么使用了没用?也没有错误提示!
44. 海波郭 | 2009:12:19 - 16:41:24 | #
在用,有效,就是报错
Warning: Cannot modify header information – headers already sent by 。。。
45. 海波郭 | 2009:12:19 - 17:06:44 | #
改了下编码格式,河蟹了
46. 海波郭 | 2009:12:19 - 17:09:50 | #
编辑文章会再次同步,需要调整下
47. Shirp | 2009:12:22 - 09:38:54 | #
我的空间支持邮件发送,但是插件开始也是报错
后来改好了
然后激活
发表文章后,好像没有同步到Qzone啊…什么原因呢
是不是QQ邮箱设置问题?
48. 9npc | 2009:12:22 - 18:15:55 | #
真好用啊。
只需要
$qq_number = ”;這兩個單引號內填入QQ號碼
還有
$qq_password = ”;這兩個單引號內填入QQ密碼。
然後後臺激活插件,QQ信箱激活SMTP即可。
49. 设&计是空 | 2009:12:27 - 14:45:07 | #
WP2Qzone 怎么不能下载了?
50. 点格网社 | 2010:01:02 - 16:20:31 | #
问需要把这些都该成$qq_number 和 $qq_password 改成:$qq_XXX 和 $qq_XXX
还是:$qqxxxx 和 $qqxxxxx
51. Apollools | 2010:01:09 - 14:51:55 | #
我来试试~~~
52. bug | 2010:01:15 - 03:32:14 | #
怎么有这么多这个问题老大都不回答呢?我也遇到了
Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.qq.com:25 (Connection
timed out) in /home/public_html/wp-includes/class-smtp.php on line 122
Warning: Cannot modify header information – headers already sent by (output started at
/home/wushicn/public_html/wp-includes/class-smtp.php:122) in /home/public_html/wp-
includes/pluggable.php on line 868
53. Denis | 2010:01:15 - 12:51:37 | #
同样的问题回答了一次就可以了,何必要每次都回答呢?
54. 海波郭 | 2010:02:02 - 08:52:36 | #
昨天有人pingback俩篇文章,结果该插件再次同步了两篇文章…
55. 海波郭 | 2010:02:02 - 08:54:19 | #
昨天有人pingback两篇文章,该插件自动给我同步了…之前没想要同步这两篇文章,所以发表的时候关闭了插件
56. Leon | 2010:02:05 - 04:03:47 | #
我严格按照博主的方法安装了插件,填写了QQ号码和密码,开通QQ的smtp,但是发表文章的时候,就是没有同步到QQ上去。
57. Denis | 2010:02:05 - 15:53:00 | #
服务器连不通 Qmail
58. Leon | 2010:02:05 - 17:45:07 | #
请问现在的情况是,都无法连通了吗?还是只有我的无法解决,寻求解决方法。
59. Denis | 2010:02:05 - 17:47:19 | #
你的!
60. 客家春春 | 2010:02:24 - 03:45:00 | #
您发送的邮件:
> 日期:Wed, 24 Feb 2010 03:28:15 +0800
> 发件人:qzone-nonreply@qzone.qq.com Tue, 23 Feb 2010 19:28:09 +0000本文为测试日志
> 大小: 1017 字节
无法发送到,原因是:[发件人和收件人不是同一个人].
很遗憾,您发往Qzone的信件没有能够成功发表,请重新尝试.
怎么会这样
61. Denis | 2010:02:24 - 11:38:13 | #
问 QQ!
62. maplevi | 2010:03:05 - 02:43:14 | #
完全可以用,但我还有个问题,这个只支持1个QQ。
一般人都有2个或2个以上QQ。
我想都加进去,代码该怎么改才可以?
63. hspower | 2010:03:08 - 12:27:35 | #
QQ账号和密码会不会暴露在wp2qzone.php中?
64. Denis | 2010:03:09 - 14:32:29 | #
呵呵,ftp 保护好,别人怎么看?
65. tony | 2010:03:09 - 14:47:01 | #
这问题真是废话,php和html还是不同的~~你把后php缀改成html,就暴露了