码疯窝

这段时间回家了,实在是太冷了,都懒得去更新代码了,今天终于抽了点时间弄了一下代码。

一, 评论邮件提醒

每次有人评论都得去后台看多麻烦啊,还有wordpress已经提供了邮件提醒的功能,通过wp_mail 调动phpMailer实现的。
是通过本地发送邮件,因为我已经配置好了邮件服务器, 弄好了一个新的邮件 admin@madcoder.cn。
于是我们需要一个插件WP-Mail-SMTP,主要功能就是可以配置自已的SMTP邮箱去发送邮件。
这里大家可以使用163,gmail,qq 等邮箱去发邮件,如果对方提供smtp服务的话。

配置很简单,使用过SMTP发过邮件的应该都知道。这里就不多说了。
配置好邮件基本就可以收到评论提醒了。

唯一的缺陷是它是同步发送邮件的,有很多的缺陷。
例如,必需等邮件发送完成,Post请求才能结束,没人愿意去多花个4-5秒去POST一个评论。并且如果邮件发送失败那就彻底失败了。

简单的搜索了一下,貌似没发现网上有什么文章去解决这类问题。那只有在今后的文章里面,自己动手丰衣足食了。

二, 评论回复邮件提醒

个人觉得这个功能才是邮件提醒的重中之重。网上很多代码

function comment_mail_notify($comment_id) {
	$comment = get_comment($comment_id);
	$parent_id = $comment->comment_parent ? $comment->comment_parent : '';
	$spam_confirmed = $comment->comment_approved;
	if (($parent_id != '') && ($spam_confirmed != 'spam')) {
		//$wp_email = 'no-reply@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])); //e-mail 发出点, no-reply 可改为可用的 e-mail.
		$to = trim(get_comment($parent_id)->comment_author_email);
		$subject = '您在 [' . get_option("blogname") . '] 的留言有了回复';
		$message = '
		

' . trim(get_comment($parent_id)->comment_author) . ', 您好!

您曾在 《' . get_the_title($comment->comment_post_ID) . '》的留言:
' . trim(get_comment($parent_id)->comment_content) . '

' . trim($comment->comment_author) . ' 给您的回复:
' . trim($comment->comment_content) . '

您可以点击 "all"))) . '">查看回复完整內容

欢迎再度光临 ' . get_option('blogname') . '

(此邮件由系统自动发送,请勿回复.)

'; //$from = "From: \"" . get_option('blogname') . "\" <$wp_email>"; $headers = "Content-Type: text/html; charset=" . get_option('blog_charset') . "\n"; wp_mail( $to, $subject, $message, $headers ); //echo 'mail to ', $to, '
' , $subject, $message; // for testing } } add_action('comment_post', 'comment_mail_notify');

放到functions.php里面,调动wp_mail 然后配合上一步的插件达到邮件发送的效果。

同样,缺点在于同步发送。
会在以后的文章里面解决邮件同步发送的问题

继续查看有关 日志连载的文章

1个访客评论

  1. 乐享资源网

    初次拜访,表示极大的支持

    qweqwe Reply