help='Set RT owner and AdminCC to USER',
metavar='USER',
)
+ parser.add_option('--split', dest='split',
+ help='Split "email" field on SPLIT and send to each recipient',
+ metavar='SPLIT',
+ )
(options, args) = parser.parse_args()
if len(args) != 3:
parser.error("incorrect number of arguments")
parser.error("--rt-owner requires specifying a queue")
return options, args
-def nop_msg_filter(rcpt, body):
- return rcpt, body
+def nop_msg_filter(rcpts, body):
+ return rcpts, body
def msg_filter_factory(opts):
if not opts.rt_queue:
resource = rtkit.resource.RTResource.from_rtrc(cookie)
parser = email.parser.Parser()
- def filter_rt(rcpt, body, ):
+ def filter_rt(rcpts, body, ):
msg = parser.parsestr(body)
content = {
'content': {
- 'Requestors': rcpt,
+ 'Requestors': ", ".join(rcpts),
'Queue': opts.rt_queue,
'Subject' : msg['Subject'],
'Text' : '',
# We don't want to send mail to the real recipient, because RT
# will send them a copy too.
- return None, msg.as_string()
+ return [], msg.as_string()
return filter_rt
dct = dictize_line(header, line, )
print dct
text = email_tmpl % dct
- rcpt, text = msg_filter(dct['email'], text, )
- rcpts = [cc_addr]
- if rcpt:
- rcpts.append(rcpt)
+ if opts.split:
+ prop_rcpts = dct['email'].split(opts.split)
+ else:
+ prop_rcpts = [dct['email']]
+ rcpts, text = msg_filter(prop_rcpts, text, )
+ rcpts.append(cc_addr)
sendmail(rcpts, text, )
if __name__=='__main__':