Typecho插件CommentToMail阿里云虚拟主机无法发送邮件修改
我使用的阿里云虚拟主机,发现Typecho插件CommentToMail用3种发信方式,不管哪一种发送邮件总是失败
从网上了解到:阿里云虚拟主机屏蔽了mail()函数和stream_socket_client()函数,但是可以使用使用fsockopen函数来发信
链接:阿里云虚拟主机PHP程序使用fsockopen方式发信代码样例
我使用的阿里云虚拟主机,发现Typecho插件CommentToMail用3种发信方式,不管哪一种发送邮件总是失败
从网上了解到:阿里云虚拟主机屏蔽了mail()函数和stream_socket_client()函数,但是可以使用使用fsockopen函数来发信
链接:阿里云虚拟主机PHP程序使用fsockopen方式发信代码样例
1.关闭反垃圾保护(觉得没有什么用,而且用户体验不好)
2.修改/var/Widget/Security.php
文件,在50行左右,修改为如下代码:
public function getTokenUrl($path)
{
$parts = parse_url($path);
$params = array();
if (!empty($parts['query'])) {
parse_str($parts['query'], $params);
}
$params['_'] = $this->getToken(preg_replace('/\?_pjax=%23body/', '', $this->request->getRequestUrl()));
$parts['query'] = http_build_query($params);
return Typecho_Common::buildUrl($parts);
}
做到这一步就可以正常提交评论了
......