为什么我无法连接到NNTP服务器?

时间:2012-06-19 18:56:42

标签: php imap nntp newsgroup

我正在尝试使用PHP的imap_open函数连接到NNTP服务器,但到目前为止完全不成功。 (PHP文档声明这是可能的,尽管IMAP访问是该功能的主要目的。)在尝试解决一些PHP的免费新闻阅读器后,我已经将代码简化为最简单的元素:

<?php
$nntp = imap_open("{news.mozilla.org:119/nntp}", "", "");
?>

但是,您可以看到当我尝试在由不同组织配置的两个完全不同的服务器上运行时会发生什么:

http://tiszenkel.com/channelone/nntn/nntp.php

http://video.channelone.com/newsreader/nntp.php

在这两种情况下,我都缺少一些服务器设置吗? (我不是任何服务器的管理员,但我可以向其中一个管理员发出请求。)

2 个答案:

答案 0 :(得分:2)

$ref = '{news.mozilla.org:119/nntp}';
$imap = imap_open($ref,"","",OP_HALFOPEN);
var_dump(imap_list($imap,$ref,'*announce*'));

array(4) {
  [0]=>
  string(57) "{news.mozilla.org:119/nntp}mozilla.announce.compatibility"
  [1]=>
  string(59) "{news.mozilla.org:119/nntp}netscape.public.mozilla.announce"
  [2]=>
  string(43) "{news.mozilla.org:119/nntp}mozilla.announce"
  [3]=>
  string(52) "{news.mozilla.org:119/nntp}mozilla.dev.l10n.announce"
}

答案 1 :(得分:1)

看起来您可能需要OP_ANONYMOUS作为imap_open的第四个参数。

查看信息&amp;此链接中的示例:

PHP Cookbook entry on imap_open