~sambuddhabasu1/mailman/fix_mailman_run_error

« back to all changes in this revision

Viewing changes to src/mailman/handlers/docs/nntp.rst

  • Committer: Barry Warsaw
  • Date: 2012-04-01 18:53:38 UTC
  • mfrom: (7139.1.4 bug-967409)
  • Revision ID: barry@list.org-20120401185338-5qujo0c3kc9a8wtr
 * The `news` runner and queue has been renamed to the more accurate `nntp`.
   The runner has also been ported to Mailman 3 (LP: #967409).  Beta testers
   can can safely remove `$var_dir/queue/news`.

 * Configuration schema variable changes:
   [nntp]username -> [nntp]user
   [nntp]port (added)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
============
4
4
 
5
5
Mailman has an NNTP gateway, whereby messages posted to the mailing list can
6
 
be forwarded onto an NNTP newsgroup.  Typically this means Usenet, but since
7
 
NNTP is to Usenet as IP is to the web, it's more general than that.
 
6
be forwarded onto an NNTP newsgroup.
8
7
 
9
 
    >>> mlist = create_list('_xtest@example.com')
 
8
    >>> mlist = create_list('test@example.com')
10
9
 
11
10
Gatewaying from the mailing list to the newsgroup happens through a separate
12
11
``nntp`` queue and happen immediately when the message is posted through to
13
12
the list.  Note that gatewaying from the newsgroup to the list happens via a
14
 
cronjob (currently not shown).
 
13
separate process.
15
14
 
16
15
There are several situations which prevent a message from being gatewayed to
17
16
the newsgroup.  The feature could be disabled, as is the default.
26
25
 
27
26
    >>> handler = config.handlers['to-usenet']
28
27
    >>> handler.process(mlist, msg, {})
29
 
 
30
 
    >>> switchboard = config.switchboards['news']
31
 
    >>> switchboard.files
 
28
    >>> from mailman.testing.helpers import get_queue_messages
 
29
    >>> get_queue_messages('nntp')
32
30
    []
33
31
 
34
32
Even if enabled, messages that came from the newsgroup are never gated back to
35
33
the newsgroup.
36
34
 
37
35
    >>> mlist.gateway_to_news = True
38
 
    >>> handler.process(mlist, msg, {'fromusenet': True})
39
 
    >>> switchboard.files
 
36
    >>> handler.process(mlist, msg, dict(fromusenet=True))
 
37
    >>> get_queue_messages('nntp')
40
38
    []
41
39
 
42
40
Neither are digests ever gated to the newsgroup.
43
41
 
44
 
    >>> handler.process(mlist, msg, {'isdigest': True})
45
 
    >>> switchboard.files
 
42
    >>> handler.process(mlist, msg, dict(isdigest=True))
 
43
    >>> get_queue_messages('nntp')
46
44
    []
47
45
 
48
46
However, other posted messages get gated to the newsgroup via the nntp queue.
49
47
The list owner can set the linked newsgroup and the nntp host that its
50
48
messages are gated to.
 
49
::
51
50
 
52
51
    >>> mlist.linked_newsgroup = 'comp.lang.thing'
53
52
    >>> mlist.nntp_host = 'news.example.com'
54
53
    >>> handler.process(mlist, msg, {})
55
 
    >>> len(switchboard.files)
 
54
    >>> messages = get_queue_messages('nntp')
 
55
    >>> len(messages)
56
56
    1
57
 
    >>> filebase = switchboard.files[0]
58
 
    >>> msg, msgdata = switchboard.dequeue(filebase)
59
 
    >>> switchboard.finish(filebase)
60
 
    >>> print msg.as_string()
 
57
 
 
58
    >>> print messages[0].msg.as_string()
61
59
    Subject: An important message
62
60
    <BLANKLINE>
63
61
    Something of great import.
64
62
    <BLANKLINE>
65
 
    >>> dump_msgdata(msgdata)
 
63
 
 
64
    >>> dump_msgdata(messages[0].msgdata)
66
65
    _parsemsg: False
67
 
    listname : _xtest@example.com
 
66
    listname : test@example.com
68
67
    version  : 3