from getopt import getopt, GetoptError
from sys import stdin, stdout, stderr, argv, exit
from cStringIO import StringIO
+env = OS.environ
prog = argv[0]
host = 'localhost'
dist = 'mail'
path = 'newsgate'
+sender = env.get('SENDER')
+recip = env.get('RECIPIENT')
group = None
def opts():
- global approved, remote, host, dist, path, group
+ global approved, remote, host, dist, path, group, sender, recip
try:
- opts, args = getopt(argv[1:], 'a:d:h:r:p:',
+ opts, args = getopt(argv[1:], 'a:d:h:r:p:S:R:',
['approved=', 'distribution=',
+ 'sender=', 'recipient=',
'hostname=', 'remote=', 'path='])
except GetoptError:
usage()
host = a
elif o in ('-r', '--remote'):
remote = (lambda addr, port = 119: (addr, int(port)))(*a.split(':'))
+ elif o in ('-R', '--recipient'):
+ recip = a
+ elif o in ('-S', '--sender'):
+ sender = a
if len(args) != 1:
usage()
group, = args
'Newsgroups: %s\r\n'
% group)
if approved: hdr.write('Approved: %s\r\n' % approved)
+ if sender: hdr.write('Return-Path: <%s>\r\n' % sender)
+ if recip: hdr.write('Delivered-To: %s\r\n' % recip)
xify = {}
for h in '''
lines xref newsgroups path distribution approved received