我发现我是一个同步控,我把博客日志同步到雷猴,同步到嘀咕,然后同步到新浪微博, 好吧,今天就讲解下如何同步 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') ) {<!--more-->
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);
}
总结下: