~sambuddhabasu1/mailman/fix_mailman_run_error

« back to all changes in this revision

Viewing changes to src/mailman/runners/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:
1
1
===============
2
 
The news runner
 
2
The NNTP runner
3
3
===============
4
4
 
5
 
The news runner gateways mailing list messages to an NNTP newsgroup.  One of
6
 
the most important things this runner does is prepare the message for Usenet
7
 
(yes, I know that NNTP is not Usenet, but this runner was originally written
8
 
to gate to Usenet, which has its own rules).
 
5
The NNTP runner gateways mailing list messages to an NNTP newsgroup.
9
6
 
10
 
    >>> mlist = create_list('_xtest@example.com')
 
7
    >>> mlist = create_list('test@example.com')
11
8
    >>> mlist.linked_newsgroup = 'comp.lang.python'
12
9
 
13
10
Some NNTP servers such as INN reject messages containing a set of prohibited
14
 
headers, so one of the things that the news runner does is remove these
15
 
prohibited headers.
 
11
headers, so one of the things that this runner does is remove these prohibited
 
12
headers.
16
13
::
17
14
 
18
15
    >>> msg = message_from_string("""\
19
16
    ... From: aperson@example.com
20
 
    ... To: _xtest@example.com
 
17
    ... To: test@example.com
21
18
    ... NNTP-Posting-Host: news.example.com
22
19
    ... NNTP-Posting-Date: today
23
20
    ... X-Trace: blah blah
34
31
    ... """)
35
32
    >>> msgdata = {}
36
33
 
37
 
    >>> from mailman.runners.news import prepare_message
 
34
    >>> from mailman.runners.nntp import prepare_message
38
35
    >>> prepare_message(mlist, msg, msgdata)
39
36
    >>> msgdata['prepped']
40
37
    True
41
38
    >>> print msg.as_string()
42
39
    From: aperson@example.com
43
 
    To: _xtest@example.com
 
40
    To: test@example.com
44
41
    Newsgroups: comp.lang.python
45
42
    Message-ID: ...
46
43
    Lines: 1
54
51
 
55
52
    >>> msg = message_from_string("""\
56
53
    ... From: aperson@example.com
57
 
    ... To: _xtest@example.com
 
54
    ... To: test@example.com
58
55
    ... To: two@example.com
59
56
    ... Cc: three@example.com
60
57
    ... Cc: four@example.com
74
71
    Newsgroups: comp.lang.python
75
72
    Message-ID: ...
76
73
    Lines: 1
77
 
    To: _xtest@example.com
 
74
    To: test@example.com
78
75
    X-Original-To: two@example.com
79
76
    CC: three@example.com
80
77
    X-Original-CC: four@example.com
91
88
 
92
89
    >>> msg = message_from_string("""\
93
90
    ... From: aperson@example.com
94
 
    ... To: _xtest@example.com
 
91
    ... To: test@example.com
95
92
    ... Cc: someother@example.com
96
93
    ... Content-Transfer-Encoding: yes
97
94
    ...
103
100
    True
104
101
    >>> print msg.as_string()
105
102
    From: aperson@example.com
106
 
    To: _xtest@example.com
 
103
    To: test@example.com
107
104
    Cc: someother@example.com
108
105
    Content-Transfer-Encoding: yes
109
106
    Newsgroups: comp.lang.python
125
122
    >>> mlist.news_moderation = NewsModeration.open_moderated
126
123
    >>> msg = message_from_string("""\
127
124
    ... From: aperson@example.com
128
 
    ... To: _xtest@example.com
 
125
    ... To: test@example.com
129
126
    ... Approved: this gets deleted
130
127
    ...
131
128
    ... """)
132
129
    >>> prepare_message(mlist, msg, {})
133
130
    >>> print msg['approved']
134
 
    _xtest@example.com
 
131
    test@example.com
135
132
 
136
133
    >>> mlist.news_moderation = NewsModeration.moderated
137
134
    >>> msg = message_from_string("""\
138
135
    ... From: aperson@example.com
139
 
    ... To: _xtest@example.com
 
136
    ... To: test@example.com
140
137
    ... Approved: this gets deleted
141
138
    ...
142
139
    ... """)
143
140
    >>> prepare_message(mlist, msg, {})
144
141
    >>> print msg['approved']
145
 
    _xtest@example.com
 
142
    test@example.com
146
143
 
147
144
But if the newsgroup is not moderated, the ``Approved:`` header is not changed.
148
145
 
149
146
    >>> mlist.news_moderation = NewsModeration.none
150
147
    >>> msg = message_from_string("""\
151
148
    ... From: aperson@example.com
152
 
    ... To: _xtest@example.com
 
149
    ... To: test@example.com
153
150
    ... Approved: this doesn't get deleted
154
151
    ...
155
152
    ... """)