WordPress 同步 Qzone/QQ空间 live space的方法
今天去逛了逛自己的qq空间,发现访问的人还不少,可惜我的qq空间里面基本没有什么内容。如果能把本博客的内容自动同步到qq空间,岂不是一件美事。google了一下找到了一个解决方案,http://blog.xiaoding.org/post/wordpress-sync-with-qzone-live_space.html
本来以为很简单的一个事情,很快可以搞定,结果使用上面介绍的方法,怎么弄也不成,后来仔细阅读代码,在关键地方打出log,终于找到了原因,原来是从我的博客空间(dreamhost)无法连接到smtp.qq.com服务器的25号端口(smtp默认端口),但是从宿舍的电脑上却可以连接。估计是腾讯害怕国外的黑客吧
。所幸天无绝人之路,qq邮箱帮助文档中提到了他们也支持ssl安全连接。在我的blog空间telnet smtp.qq.com 465,发现可以连接。发现了这个之后,问题就很容易解决了。PHPMailer本来就支持ssl方式连接,简单修改一下/wp-content/plugins/wp-qzone/wp-qzone.0.4.php(最新版,其他版本可能是/wp-content/plugins/wp-qzone/wp-qzone.php)中的Mailer类,增加下面红色部分代码即可搞定
class Mailer extends PHPMailer
{
var $qq=null;
function Mailer($qq,$psw) {
$this->qq=$qq;
$this->From = “{$qq}@qq.com”;
$this->FromName = $qq;
$this->Host = “smtp.qq.com”;
$this->Mailer = “smtp”;
$this->WordWrap = 75;
$this->CharSet = ‘utf-8′;
$this->Encoding = ‘base64′;
$this->SMTPAuth = true;
$this->IsHTML(true);
$this->Username = $qq;
$this->Password = $psw;
$this->SMTPSecure = “ssl”;
$this->Port = 465;
}
function Halo($subject,$body){
$this->AddAddress(“{$this->qq}@qzone.qq.com”, “{$this->qq}@qzone.qq.com”);
$this->Subject = $subject;
$this->Body = $body;
return $this->Send();
}
}
原文中仅仅显示摘要的代码同样拷贝过来就可以使用,我的新代码增加了ssl支持,并且更新到了最新版0.4版(原文的插件版本是0.2.1),朋友们如果不想修改代码的话可以直接点击这里下载我修改后最新的插件包。
重要更新:nosper 反映他的博客系统使用465端口也无法使用,但是使用587端口可以, 大家如果发现465端口不通的话,可以使用587端口。感谢nosper的批评指正!!
除注明转载的文章外,都是本人原创,转载时请加上原文链接并注明: 转载自品味生活
Popularity: 36%
最新评论