问题标签 [nntp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
382 浏览

php - 新闻组 nntp 协议与 fsockopen 对话 - 如何获取大小

在下面的代码中,我可以获得我之前选择的组中的“message-id”列表。现在有了这些信息,我可以用

我如何找出文章的大小?就像 php imap 对 imap_fetch_overview() 所做的那样;不用说,我不想下载整个正文。只想要文件大小。

0 投票
0 回答
273 浏览

nntp - NNTP 对等协议如何工作?

我在网上找不到任何文档,而且我在 RFC 上迷路了。

有人可以解释一下 NNTP 服务器如何与另一个接受消息对等吗?

我只能发挥我的想象力:

我只想接收消息,而不是发送消息。

任何提示?非常感谢。

0 投票
1 回答
140 浏览

java - gnu.mail.providers.nntp newsrc

参考gnu.mail.providers.nntp的 API 文档,我试图在运行 leafnode 的 localhost nntp 上生成文件夹列表

但是,似乎 ${user.home}/.newsrc 没有正确加载,因为我得到了一个零长度数组:

如何调试 newsrc 是否为商店正确加载?

属性文件:

顺便说一句,对于属性文件中指定的组,与商店的连接很好。

将调试设置为 true 给出:

所以看起来 newsrc 正在加载,但有 0 个组。然而,有问题的 newsrc 是这样的:

0 投票
2 回答
83 浏览

php - How to debug something that works and not at random?

I'm using the Net_NNTP ->post() function. This posts a message to a NNTP server. Sometimes however (30-50% of the cases) the lasts 1 or 2 characters of every line of the message are truncated. Sometimes this works just fine.

I really can't find any way to replicate this; it's not about the text inserted in the message or so on, it's not about server load etc... I simply don't understand it.

How do you think should I debug it?


Here is some example code, acting the same as the the PHP's class.

$article is always the same. The server i'm connecting to a cluster of know to be reliable servers of a respectable ISP, i don't think that to be the problem!

This really has no sense to me.

0 投票
2 回答
252 浏览

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

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

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

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

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

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

0 投票
2 回答
139 浏览

gnu - USENET 或 NNTP 文章是按时间顺序还是按时间倒序加载的?

示例新闻:

现在,我已将叶子节点配置为将消息保存 999 天。当GNU NNTP连接到本地主机上的叶子节点时,加载时可能会有很大的延迟。目前,我所做的是将 Leafnode 配置为只为特定组存储 35 天,以便加载更快。

但是,当再次查看 .newsrc 时,似乎我可以让叶子节点存储大量文章,然后配置 GNU NNTP 使用的 .newsrc,以便只获取这些消息的一小部分。如果是这样,这将允许在叶子节点中长时间保留 999 天,从而减轻连接到叶子节点和从 GNU NNTP 加载文章的延迟。

然而,这行得通吗?只会加载较新的文章,还是会加载文章?

不幸的是,RFC 977实际上并没有提到 .newsrc 文件。当然,GNU NNTP 是否遵循 RFC 将是一个单独的问题,但是,至少根据 RFC,可能会加载较新的问题而留下较旧的问题?

看起来RFC 3977稍微澄清了 RFC 977,所以我现在正在审查它。

0 投票
1 回答
1870 浏览

protocols - NNTP 中的标准标头是什么?

在查看了NNTP 标准之后,我弄清楚了如何从消息中提取标题、如何折叠标题以及如何将标题标签与标题文本分开。我找不到的是标准 NNTP 标头的官方列表。标准列表Subject, From, Date, Message-id, Reference但不是Groups我知道需要在那里。

是否有所有官方 NNTP 标头的官方列表?对于加分,是否有常用的非官方标题列表?

编辑

我找到了标准标题列表。是否有类似的非标准但常见的标头列表?

0 投票
1 回答
870 浏览

java - javax.mail.search 有替代品吗?

我正在使用GNU NNTP连接到localhost 上的作为 NNTP 服务器的 leafnode GNU API 使用javax.mail.Message,它带有以下警告:

消息 API

..如果文件夹中的其他邮件被删除和清除,特定邮件的邮件编号可能会在会话期间更改。

所以,目前,我正在使用javax.mail.search搜索已知消息。不幸的是,每次搜索都会搜索整个文件夹。我可以保持文件夹打开,这样可以加快搜索速度,但它看起来很笨拙。

使用的替代方法javax.mail.search是什么?这个:

javax.mail.Folder只有几个时工作正常Message。但是,对于非常大Folder的 ',必须有更好的方法。代替Message-ID标头字段,Xref可能更可取,但仍然存在搜索字符串的相同基本问题。

这是数据库,它只需要保存足够的信息来查找/获取/搜索Folder's 以获取指定消息:

虽然该模式目前非常简单,但我计划增加它的复杂性。

使用以下命令查询消息getMessage()

我现在才意识到的问题是:

无论使用哪个特定的标头,它都类似于:

或者

所以总有一个字符串需要解析和搜索,这很尴尬。

我确实注意到MimeMessage有一个非常方便的getMessageID方法。不幸的是,GNU 使用javax.mail.Message而不是MimeMessage. 诚然,可以实例化一个文件夹 and MimeMessage,但我没有看到从一次运行到另一次运行的任何节省,不能保证getMessageID会返回正确的消息。

我看到的尴尬解决方案可能是创建一个MimeMessage's 的持久文件夹,但这似乎有点矫枉过正。

因此,使用标头,或者Xref然后Message-ID解析和搜索字符串......

有没有更好的办法?

0 投票
1 回答
522 浏览

java - 在 RDBMS 中保留电子邮件

我正在考虑使用dbmailArchiveopteryxmanitouJames来保存javax.mail.Message对象,而不是电子邮件本身。但是,我猜想,就 dbmail 而言,它只对实际发送和接收消息非常有用。

在这种特殊情况下,我想获取Leafnode拥有的 NNTP 消息并将它们放入 RDBMS。为此,dbmail 看起来很有趣,因为它是一个已建立的项目,大概已经解决了许多电子邮件 --> 数据库问题。具体来说,我希望他们的架构设计合理。

我正在使用,javax.mail.Message因为GNU NNTP API使用Message,在这种情况下有起有落。(它缺少一些 NNTP 特定的功能。)

假设没有用于 dbmail 的 Java 驱动程序,而且我不明白他们为什么会有一个,我将如何从 Leafnode 获取消息到 dbmail?只是在本地主机上给自己发一封电子邮件?

在旁注中,这是多么疯狂/愚蠢?有更好的通用方法吗?

许多人已经多次将邮件发送到数据库。一个例子是 DBMail 项目。另一个例子是 Microsoft Exchange 服务器,它使用关系数据库来存储所有内容。

http://www.memoryhole.net/~kyle/databaseemail.html

我很想知道为什么 Exchange 使用 RDBMS,以及它们的模式是什么样的,也许那里有一些教训。

0 投票
0 回答
156 浏览

java - 如何使用 GNU NNTP 标记.DELETED 消息

我正在使用GNU javamail来阅读 NNTP 消息:

但是,我遇到了索引问题,因为我无法弄清楚如何只发送新消息或未读消息。

当然可以迭代文件夹中的消息,解析标题,并且只返回外部参照值高于某个阈值的消息。标题是这样的:

Xref: dur.bounceme.net gwene.com.economist:594

但是,对于非常大的文件夹,这样做有点麻烦。

我当然已经看到这不是一个未知的问题,而且我肯定是在重新发明轮子。不幸的是,在这种情况下,我的轮子甚至不是圆形的,因为我无法确定如何修剪(删除)NNTP 服务器上的消息(在这种情况下,Leafnode在本地主机上运行)。

在不迭代整个文件夹的情况下,如何获取超过某个阈值的消息?或者,我如何从文件夹中删除消息,如果它们被删除,leafnode 会删除这些消息吗?

它很简单:

message.setFlags(Flags.Flag.DELETED, true);???

作为替代方案,我正在尝试 GNU Mailman