hgext/patchbomb.py
changeset 5973 ea77f6f77514
parent 5948 597d8402087d
child 6211 f89fd07fc51d
equal deleted inserted replaced
5972:d83020d0466f 5973:ea77f6f77514
   379     ui.write('\n')
   379     ui.write('\n')
   380 
   380 
   381     parent = None
   381     parent = None
   382 
   382 
   383     sender_addr = email.Utils.parseaddr(sender)[1]
   383     sender_addr = email.Utils.parseaddr(sender)[1]
       
   384     sendmail = None
   384     for m in msgs:
   385     for m in msgs:
   385         try:
   386         try:
   386             m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
   387             m['Message-Id'] = genmsgid(m['X-Mercurial-Node'])
   387         except TypeError:
   388         except TypeError:
   388             m['Message-Id'] = genmsgid('patchbomb')
   389             m['Message-Id'] = genmsgid('patchbomb')
   423             fp.write('From %s %s\n' % (sender_addr, date))
   424             fp.write('From %s %s\n' % (sender_addr, date))
   424             fp.write(m.as_string(0))
   425             fp.write(m.as_string(0))
   425             fp.write('\n\n')
   426             fp.write('\n\n')
   426             fp.close()
   427             fp.close()
   427         else:
   428         else:
       
   429             if not sendmail:
       
   430                 sendmail = mail.connect(ui)
   428             ui.status('Sending ', m['Subject'], ' ...\n')
   431             ui.status('Sending ', m['Subject'], ' ...\n')
   429             # Exim does not remove the Bcc field
   432             # Exim does not remove the Bcc field
   430             del m['Bcc']
   433             del m['Bcc']
   431             mail.sendmail(ui, sender, to + bcc + cc, m.as_string(0))
   434             sendmail(sender, to + bcc + cc, m.as_string(0))
   432 
   435 
   433 cmdtable = {
   436 cmdtable = {
   434     "email":
   437     "email":
   435         (patchbomb,
   438         (patchbomb,
   436          [('a', 'attach', None, _('send patches as attachments')),
   439          [('a', 'attach', None, _('send patches as attachments')),